gpt4 book ai didi

docker - 了解Docker镜像

转载 作者:行者123 更新时间:2023-12-02 20:23:22 25 4
gpt4 key购买 nike

我发现很难掌握Dockerfile。在创建tomcat镜像的dockerfile中考虑以下命令:

 RUN wget -q https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz &&\
tar zxf apache-tomcat-*.tar.gz

ADD helloWorld.war ${CATALINA_HOME}/webapps/

CMD ["/opt/tomcat/bin/tomcat.sh"]

我正在下载tomcat并添加war文件,然后启动tomcat。
  • 现在我不了解的是,何时运行RUN,ADD和CMD?它们在我执行docker build或docker run时执行吗?
  • 如果他们在docker运行期间执行,他们将从何处获取我的helloWorld.war? Docker镜像是否是带有helloWorld.war的软件包以及来自dockerfile的一组命令?
  • 最佳答案

  • RUNADD将在构建时运行(docker build),而CMD/ENTRYPOINT将在运行时执行(docker run)。
  • RUN将在构建镜像时执行,并将相应的图层添加到docker镜像。
  • CMD是每当容器启动时执行的默认命令。
  • ADD/COPY在构建镜像时将文件从主机复制到docker镜像。
  • helloWorld.war将打包在docker镜像中。如果要在docker run中提供war文件,则可以使用volumes。您可以挂载tomcat的webapps目录。
  • docker run -v /path/to/war/file/in/host:/path/to/webapps/war/in/container tomcat

    关于docker - 了解Docker镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36176386/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com