Dockerfile参数详解

Dockerfile 命令

  1. FROM
    基于什么基础镜像做操作,Dockerfile第一行必须为FROM,如果使用Dockerfile创建多个镜像时,可使用多个From指令(每个镜像一次)

     示例:
     	FROM centos
     	FROM centos:latest
    
  2. MAINTAINER
    指定作者信息

     	示例:
     	MAINTAINER*********
    
  3. RUN
    镜像操作指令

     示例:
     	RUN yum install httpd -y ###在创建的容器中安装httpd
     	RUN ["/bin/bash","-c","echo hello"]
    
  4. CMD
    只能用来指定容器启动时用到的命令,所以只能有一条. docker run 覆盖 CMD

     三种格式:
     	CMD ["executable", "param1", "param2"]
     	CMD command param1 param2
     	CMD ["param1", "param2"]
     示例:
     	CMD ["/bin/bash", "/usr/local/nginx/sbin/nginx", "-c", "/usr/local/nginx/conf/nginx.conf"]
    
  5. EXPOSE
    用来暴露指定的容器端口

     格式:
     	EXPOSE <port> [<port>...]
     示例:
     	EXPOSE 800 	 	###暴露启动容器的800端口,映射到本机的就是随机端口
    
     ### 启动容器时指定-P,默认将容器的800映射到本机的随机端口
     ### 启动容器时指定-p 800:800,将容器映射到本机的800端口
    
  6. ENV
    定义环境变量,主要是为后续的RUN提供环境变量

     格式:
     	ENV <key> <value>
     示例:
     	ENV PATH /usr/local/mysql/bin:$PATH
    
     自己定义环境变量:
     	ENV MYSQL_version 5.6
    
  7. ADD
    可以将本地的文件或目录copy到容器的某个目录,支持URL

     格式:
     	ADD <src> <dest>
     示例:
     	ADD </conf/vhosts> </usr/local/nginx/conf>
    
  8. COPY
    可以将本地的文件或目录copy到容器的某个目录,不支持URL

     格式:
     	COPY <src> <dest>
     示例:
     	COPY httpd.conf /etc/httpd/conf/httpd.conf
    
  9. ENTRYPOINT
    类似CMD,只有一条生效,如果写多条则最后一条生效. docker run 不能覆盖ENTRYPOINT,并且ENTRYPOINT优先级较高

     示例:
    
     容器的名字为test,Dockerfile中指定CMD:
     	
     	CMD ["/bin/echo","testOne"]
    
     启动容器的命令是docker run test 这样会输出testOne;
    
     假如容器启动的命令是docker run -it test /bin/bash 则什么都不会输出,因为 /bin/bash 把 /bin/echo testOne 给覆盖了。
    
     而ENTRYPOINT则不会被覆盖,并且会比CMD或docker run指定的命令靠前执行
     	ENTRUPOINT ["echo","testOne"]
     	docker run -it test 123
     则会输出testOne 123,这相当于要执行命令echo testOne 123
    
  10. VOLUME
    指定挂载点

    格式:
    	VOLUME ["/data"]
    

    VOLUME命令将创建一个可以从本地主机或其他容器挂载的挂载点,与-v选项是一样的

  11. USER
    指定运行容器的用户

    格式:
    	USER daemon
    
  12. WORKDIR
    指定命令的工作目录

    格式:
    	WORKDIR /path/to/workdir
    

    为后续的RUN、CMD或者ENTRYPOINT执行的命令指定一个工作目录.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值