【问题标题】:Dockerfile, RUN git clone does not create required files/foldersDockerfile, RUN git clone 不会创建所需的文件/文件夹
【发布时间】:2022-01-27 17:55:57
【问题描述】:

英语不是我的母语,因此对于可能出现的错误,我提前道歉。

总的来说,我是 Docker 和 Linux 的新手,并且正在尝试学习 rn。 我有一个任务,我需要基于 tomcat:9.0-alpine 创建 dockerfile,然后在这个确切的文件中克隆提供的存储库。然后我需要从这个 dockerfile 构建图像,运行容器,然后在浏览器中访问 index.html,我将在其中看到特定页面。 这是我的 dockerfile 的样子:

FROM tomcat:9.0-alpine
RUN apk update
RUN apk add git
RUN git clone https://github.com/a1qatraineeship/docker_task.git $TOMCAT_HOME/webapps/whateverApp/

当我从中构建图像时,我看到 repo 被克隆到我指定的目录中:

#7 [4/4] RUN git clone https://github.com/a1qatraineeship/docker_task.git $TOMCAT_HOME/webapps/aquaApp/
#7 sha256:72b802c3b98dad7151daeba7db257b7b1f1089dc26fb5809fee52f881e19edb5
#7 0.319 Cloning into '/webapps/whateverApp'...
#7 DONE 1.9s

但是当我运行容器并转到 http://localhost:8888/whateverApp/ 时,我得到“404 - 未找到”。 如果我访问 http://localhost:8888,我会看到 Tomcat 默认页面,因此 Tomcat 可以正常工作。 如果我 bash 进入容器并转到 /webapps - 我看不到我在其中指定的文件夹(whateverApp)。

我错过了什么?一切似乎都正常,没有抛出错误,但看不到所谓的克隆存储库。在我看到的示例中,没有提及任何访问限制或其他任何内容。甚至我的老师之前也说过,整个 dockerfile 基本上由 4 行组成,而我真正需要找出的唯一一件事是克隆 repo 的位置以使一切正常工作。但是如果它根本不克隆,我如何验证我将文件放置在正确的位置?

【问题讨论】:

    标签: docker tomcat dockerfile


    【解决方案1】:

    问题是你的环境变量,容器运行时为空TOMCAT_HOME

    FROM tomcat:9.0-alpine
    ENV TOMCAT_HOME=/usr/local/tomcat
    RUN apk update
    RUN apk add git
    RUN git clone https://github.com/a1qatraineeship/docker_task.git $TOMCAT_HOME/webapps/whateverApp/
    

    ENV 应该可以工作了,祝你好运!

    【讨论】:

      猜你喜欢
      • 2016-07-12
      • 2019-09-16
      • 1970-01-01
      • 2020-12-13
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多