天天看点

Dockerfile实例——(实践操作!)Dockerfile概述Docker 执行 Dockerfile 的大致流程:不同阶段:Dockerfile 各参数详解:谢谢阅读!

 Dockerfile是docker中镜像文件的的描述文件,说的直白点就是镜像文件到底是由什么东西一步步构成的。  例如:你在淘宝上买了一个衣架,但是卖家并没有给你发一个完整的衣架,而是一些组件和一张图纸,你按照这个图纸一步一步将衣架组装起来,就成了你所需要的样子。那么 Dockerfile 就是这张图纸,镜像文件就是你需要的这个衣架,Dockerfile 不建议随便命名,就用 Dockerfile。  因此,Dockerfile其内部包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
1、Dockerfile :是软件的原材料,需要定义一个Dockerfile,Dockerfile定义了进程需要的一切东西。Dockerfile涉及的内容包括执行代码或者是文件、环境变量、依赖包、运行时环境、动态链接库等等; 2、Docker镜像 :是软件的交付品,用Dockerfile定义一个文件之后,docker build时会产生一个Docker镜像,当运行 Docker镜像时,会真正开始提供服务; 3、Docker容器 :则可以认为是软件的运行态,容器是直接提供服务的。
FROM:指明构建的新镜像是来自于哪个基础镜像; MAINTAINER:指明镜像维护者及其联系方式; RUN:执行什么命令; CMD:指定一个容器启动时要运行的命令,Dockerfile 中可以有多个 CMD 指令,但只有最后一个生效,CMD 会被 docker run 之后的参数替换; EXPOSE:声明容器运行的服务端口; ENV:构建镜像过程中设置环境变量; ADD:将宿主机上的目录或者文件拷贝到镜像中(会帮你自动解压,无需额外操作); COPY:作用与ADD类似,但是不支持自动下载和解压; ENTRYPOINT:指定一个容器启动时要运行的命令,用法类似于CMD,只是有由ENTRYPOINT启动的程序不会被docker run命令行指定的参数所覆盖,而且,这些命令行参数会被当作参数传递给ENTRYPOINT指定的程序; VOLUME:容器数据卷,指定容器挂载点到宿主机自动生成的目录或者其他容器(数据保存和持久化工作,但是一般不会在 Dockerfile 中用到,更常见的还是命令 docker run 的时候指定 -v 数据卷。); WORKDIR:相当于cd命令,切换目录路径;
Dockerfile实例——(实践操作!)Dockerfile概述Docker 执行 Dockerfile 的大致流程:不同阶段:Dockerfile 各参数详解:谢谢阅读!
Dockerfile实例——(实践操作!)Dockerfile概述Docker 执行 Dockerfile 的大致流程:不同阶段:Dockerfile 各参数详解:谢谢阅读!
Dockerfile实例——(实践操作!)Dockerfile概述Docker 执行 Dockerfile 的大致流程:不同阶段:Dockerfile 各参数详解:谢谢阅读!