ZBLOG

docker-compose 的command 和 docker-enterpoint 那个先执行

在 Docker 中,当启动容器时,会按照以下顺序执行:

  1. 首先执行 Dockerfile 中定义的 ENTRYPOINT 命令(如果有)。

  2. 然后执行 docker run 命令或 docker-compose.yml 文件中定义的 CMD 命令(如果没有定义 ENTRYPOINT 命令)或是和ENTRYPOINT命令一起指定的参数(如果有定义 ENTRYPOINT 命令)。

因此,在使用 Docker Compose 启动容器时,会先执行 docker-compose.yml 中定义的 ENTRYPOINT 命令,然后再执行 CMD 命令。如果在 Docker Compose 文件中没有定义 ENTRYPOINT 命令,则直接执行 CMD 命令。

需要注意的是,Docker Compose 中的 command 是覆盖 CMD 命令的,而不是覆盖 ENTRYPOINT 命令的。如果在 Docker Compose 中同时定义了 entrypoint 和 command,那么最终执行的命令会是 entrypoint + command。例如:

entrypoint: ["/bin/bash"]
command: ["-c", "echo Hello, World!"]

这个配置等价于 docker run /bin/bash -c "echo Hello, World!"

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=774

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?