dockerfile文件中命令详解

FROM:指定基础镜像,比如你要创建一个springboot项目的镜像,那么就需要jre作为基础镜像;

查找需要的基础镜像的方法:docker serch xxxx  或者去docker hub上查找;

 

RUN:构建容器运行的命令,格式有两种:

1)RUN ['execuable','param1','param2']

2)RUN <command>

 

CMD:容器启动时要执行的命令

CMD["SH","-c","echo $HOME"]

CMD command param1 parma2 

第一中格式的命令,参数都用双引号

 

MAINTAINR:指定作者,就是这个dockerfile是谁编写的;

 

EXPOSE:暴露容器运行时的监听端口给外部;

 

ENV:设置环境变量 ;

语法有两种:ENV <key> ..<value>   只能设置一个值

ENV <key>=<value>.....   可以设置多个值

 

ADD:一个复制命令,把文件复制到镜像中:

命令格式: ADD <src> <src>

ADD ["<src>",...."<dest>"]

<dest>路径的填写可以是容器内的绝对路径,也可以是相对于工作的目录的相对路径

<src> 可以是一个本地的文件或者压缩包,还可以是一个url

 

COPY:  COPY与ADD一致,唯一的区别就是<src>只能是本地的文件 

 

ENTRYPOINT:与CMD命令很像,都是在容器启动时执行命令,但是与CMD还是有一些区别:

相同点:

只能写一条,如果写了多条,那么只有最后一条生效

启动容器才执行

不同点:

ENTRYPOINT不会被Command覆盖,CMD会被覆盖;

但是如果docker run 的-entrypoint会覆盖ENTRYPOINT命令

任何docker run 设置的命令参数或CMD指令命令,都将作为ENTRYPOINT指令的命令参数,追加到ENTRYPOINT指令的命令之后

例如:

ENTRYPOINT ["top","-b", "-H"]

在执行docker run <container-name> -v 启动容器则容器执行的命令就是 top -b -v

 

VOLUME:挂载目录;

将本地文件夹或者其他容器的文件夹挂载到当前容器下

语法: volume ["/data"]

使用场景一般是需要持久化数据,比如数据库;

 

WORKDIR:设置工作目录;

WORKDIR /path/dir

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值