采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么是CMD ["flask", "run"] 而不是 CMD ["flask run"]? 如果要执行多条命令应该怎么写 CMD 呢?
CMD ["flask", "run"]
CMD ["flask run"]
您可以参考下一些官方镜像的Dockerfile,大部分需要写entrypoint的脚本的,因为启动命令比较复杂。CMD只适合一些简单的入口命令
其实我想问的是 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
登录后可查看更多问答,登录/注册
Docker 完整知识体系及使用指南&优质实践
1.7k 5
2.5k 9
4.5k 9
771 8
917 7