FROM:基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER :镜像维护者的姓名和邮箱地址
RUN:容器构建时需要运行的命令
EXPOSE :当前容器对外暴露出的端口号
WORKDIR:指定在创建容器后,终端默认登陆进来的工作目录。一个落脚点
ENV:用来在构建镜像过程中设置环境变量
ADD:将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY:类似ADD,拷贝文件和目录到镜像中。将从构造上下文目录中 源路径的文件/目录复制到新的一层的镜像内的目录路径。
格式1: COPY srr dest
格式2 : COPY [“源路径” ,“目标路径”]
VOLUME:容器数据卷,用于数据保存和持久化工作
CMD:指定一个容器启动时要运行的命令,dockerfile中可以有多个cmd指令,但只有最后一个生效,cmd会被docker run之后的参数替换
ENTRYPOINT : 指定一个容器启动时要运行的命令.
ONBUILD:当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被出发。
CMD VS ENTRYPOINT
他们目的是一样,都是在指定容器启动程序及参数
但CMD 指定的参数, 会被 dockers run 后面的 参数 覆盖
在宿主机 创建 dockerfile 文件
vim dock01
FROM centos:7
MAINTAINER zen
RUN yum -y install vim
RUN yum -y install net-tools
ENV mypath /usr/local
WORKDIR $mypath
cmd echo "======zen==="
cmd /bin/bash
在宿主机 生成镜像
docker build -f /root/dock01 -t zen-centos:1.0 .
》》》查看镜像文件
》》》 生成容器实例
docker run -it zen-centos:1.0
》》》列出镜像的变更历史
》》自定义镜像
1、编写dockerfile
2、构建镜像
》》docker build -f dockefile文件路径 -t 自定义镜像名:TAG
3、运行 docker run -it 上面的镜像名称:TAG