美文网首页
Docker CMD vs ENTRYPOINT

Docker CMD vs ENTRYPOINT

作者: 纸片那天 | 来源:发表于2017-07-24 15:17 被阅读0次

它们都用来标识image的可执行文件

很多image将自己的CMD设置为/bin/sh 或者 /bin/bash,因此在运行image时就会进入shell的交互界面(当然docker run时需要加上-it)

在docker run时,只需要在命令后直接添加命令,就可以覆写CMD的默认命令

但是如果使用ENTRYPOINT,则需要用 --entrypoint 覆写命令

格式

shell形式:
CMD command param1 param2

将在shell环境中运行,可以使用环境变量。但command的pid不会是1,因为pid为1的进程是shell,因此Ctrl + C 不会有反应。

exec形式:
CMD ["command", "param1", "param2"]

直接运行命令,command的pid会为1。如果希望用到环境变量,则可以执行
CMD ["sh", "-c", "command", "param1", ...]

相关文章

网友评论

      本文标题:Docker CMD vs ENTRYPOINT

      本文链接:https://www.haomeiwen.com/subject/gwsbkxtx.html