不得不掌握的Dockerfile基础指令

  • FROM
    • 基于哪个镜像
  • MAINTAINER
    • 注明作者
  • COPY
    • 复制文件进入容器(只能使用相对路径,不能使用绝对路径)
  • ADD
    • 复制文件进入容器(与COPY的不同是,如果复制的是.tar.gz文件,将会被解压)
  • WORKDIR
    • 指定工作目录,假如目录不存在,会自动创建
  • ENV
    • 设置环境变量
  • EXPOSE
    • 暴露容器端口
  • RUN
    • 在构建镜像的时候执行,作用于镜像层面
  • ENTRYPOINT
    • 在容器启动的时候执行,作用于容器层,dockerfile里有多条时只允许执行最后一条
    • 若为exec命令格式,可以接收CMD的参数
  • CMD
    • 在容器执行的时候执行,作用于容器层,dockerfile里有多条时只允许执行最后一条
    • 容器启动后执行默认的命令或参数,允许被修改
    • exec命令格式下,ENTRYPOINT参数优先执行,CMD指定的为参数
  • 命令格式
    • shell命令格式:RUN yum install -y net-tools
    • exec命令格式:RUN ["yum","install","-y","net-tools"]

dockerfile示例:

#第一个
FROM centos:7
RUN echo "images building!"
CMD ["echo","container","starting..."] ENTRYPOINT ["echo","container","starting !!!"]
#第二个
FROM centos:7
RUN echo "images building!"
CMD ["echo","containe1r","starting..."]
CMD ["echo","container2","starting..."] ENTRYPOINT ["echo","container2","starting !!!"] ENTRYPOINT ["echo","container2","starting !!!"]
#第三个
FROM centos:7
CMD ["-ef"] ENTRYPOINT ["ps"]

 

上一篇:【音乐欣赏】《Forget》 - The Tech Thieves


下一篇:nfs 客户端启动报错rpc.mountd: svc_tli_create: could not open connection for tcp6