Dockerfile的RUN、CMD、ENTRYPOINT

本文介绍了Dockerfile中RUN、CMD、ENTRYPOINT的作用。RUN用于执行命令并创建新的Image Layer;CMD设置容器启动后默认执行的命令和参数,若docker run指定其它命令则被忽略;ENTRYPOINT设置容器启动时运行的命令,不会被忽略,可让容器以应用程序或服务形式运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RUN:执行命令并创建新的Image Layer

CMD:设置容器启动后默认执行的命令和参数

ENTRYPOINT:设置容器启动时运行的命令

 

CMD

  • 容器启动时默认执行的命令
  • 如果docker run 指定了其它命令,CMD命令被忽略
  • 如果定义了多个CMD,只有最后一个会执行

比如Dockerfile内容如下

FROM centos
ENV name Docker
CMD echo "hello $name"

执行:(1)docker run [image] 会输出:hello Docker

           (2)docker run it [image] /bin/bash则不会输出CMD的命令    

ENTRYPOINT

  • 让容器以应用程序或者服务的形式运行
  • 不会被忽略,一定会执行

比如Dockerfile内容如下

FROM centos
ENV name Docker
ENTRYPOINT echo "hello $name"

执行:(1)docker run [image] 会输出:hello Docker

           (2)docker run it [image] /bin/bash 也会输出:hello Docker   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值