• Dockerfile文件详解


    组成部分

    说明

    基础镜像信息

    使用 FROM 关键字指定基础镜像信息,必须是 Dockerfile 文件的第1条指令。

    维护者信息

    使用 MAINTAINER 关键字指定,可以使用 Dockerfile 文件创建者的姓名或者电子邮件作为维护者信息。

    镜像操作指令

    每执行一条镜像操作指令,将在镜像中添加新的一层。可以根据需要使用一条或者多条镜像操作指令。

    常见的镜像操作指令有:RUN、COPY、ADD、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME 等。

    容器启动执行指令

    用于指定在启动容器时需要执行的命令,通过关键字 CMD、ENTRYPOINT 指定。

    在完成 Dockerfile 文件的编写后执行 docker build 命令,会根据 Dockerfile 文件中上下文的内容构建新 docker 镜像。这个构建过程会被递归处理。因此,如果在 Dockerfile 文件中含有子路径或者 url 等信息,都被递归处理。

    docker build 命令在使用 Dockerfile 文件生成镜像时,会通过 docker 守护进程执行 Dockerfile 文件中的每一条指令,并在每一步执行完成后生成一个新镜像。当所有指令执行完成后,会输出最终镜像的 id。

    当镜像最终生成后,docker 守护进程会自动清理 docker 的上下文环境,并自动重用已生成的中间镜像,以加速构建的速度。

    创建 Dockerfile 文件

    1. sudo tee Dockerfile <<-'EOF'
    2. FROM centos
    3. MAINTAINER 'rike'
    4. RUN mkdir /root/training
    5. RUN mkdir /root/tools
    6. COPY openlogic-openjdk-8u342-b07-linux-x64.tar.gz /root/tools
    7. RUN tar zxvf /root/tools/openlogic-openjdk-8u342-b07-linux-x64.tar.gz -C /root/training
    8. ENV JAVA_HOME /root/training/openlogic-openjdk-8u342-b07-linux-x64
    9. ENV PATH $JAVA_HOME/bin:$PATH
    10. COPY apache-tomcat-8.5.84.tar.gz /root/tools
    11. RUN tar zxvf /root/tools/apache-tomcat-8.5.84.tar.gz -C /root/training
    12. COPY MyDemoWeb.war /root/training/apache-tomcat-8.5.84/webapps
    13. ENTRYPOINT ["/root/training/apache-tomcat-8.5.84/bin/catalina.sh","run"]
    14. EOF

  • 相关阅读:
    面试总结大全
    主流开源OLAP对比分析
    CMMI2.0之我见-过程质量保证PQA
    VUE3搭载到服务器
    通过R语言且只用基础package来制作一个小游戏
    wordpress无法更新插件和主题的解决办法
    关于Java并发多线程的一点思考
    Ubuntu服务器中java -jar 后台运行Spring Boot项目
    JSIS3D:具有多任务点状网络和多值条件随机场的3D点云的联合语义实例分割
    基于yolov4作者最新力作yolov7目标检测模型实现火点烟雾检测
  • 原文地址:https://blog.csdn.net/zlpzlpzyd/article/details/128066570