关于CMD的格式

来源:4-8 一起构建一个Python Flask镜像

慕圣7354801

2021-09-14

为什么是CMD ["flask", "run"] 而不是 CMD ["flask run"]
如果要执行多条命令应该怎么写 CMD 呢?

写回答

1回答

麦兜搞IT

2021-09-15

您可以参考下一些官方镜像的Dockerfile,大部分需要写entrypoint的脚本的,因为启动命令比较复杂。CMD只适合一些简单的入口命令

0
1
慕圣7354801
其实我想问的是 CMD 后面为什么要跟一个 list 并且用逗号把命令拆分成几个 item。 现在我找到答案了。 如果用 string,则意味着执行 /bin/sh -c command 如果用list,则意味着直接执行 command。此时,shell 就是 container 默认的 shell,而不一定是 /bin/sh 另外,ENTRYPOINT 后面如果带 list,则会把 CMD 当作它的 arguments。但如果 ENTRYPOINT 后面没带 list 却带了 string,则 CMD 就会被忽略,无论写啥都没用。 https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact
2021-10-05
共1条回复

Docker 系统性入门+进阶实践

Docker 完整知识体系及使用指南&优质实践

1966 学习 · 329 问题

查看课程