它們都用來標識image的可執(zhí)行文件
很多image將自己的CMD設置為/bin/sh
或者 /bin/bash
河爹,因此在運行image時就會進入shell的交互界面(當然docker run時需要加上-it)
在docker run時同云,只需要在命令后直接添加命令例诀,就可以覆寫CMD的默認命令
但是如果使用ENTRYPOINT染坯,則需要用 --entrypoint 覆寫命令
格式
shell形式:
CMD command param1 param2
將在shell環(huán)境中運行手蝎,可以使用環(huán)境變量斥铺。但command的pid不會是1麦锯,因為pid為1的進程是shell,因此Ctrl + C 不會有反應佑附。
exec形式:
CMD ["command", "param1", "param2"]
直接運行命令樊诺,command的pid會為1。如果希望用到環(huán)境變量音同,則可以執(zhí)行
CMD ["sh", "-c", "command", "param1", ...]