網上關於CMD和entrypoint的相關介紹很多,在實際工程中也確實需要了解,經過總結,有如下重點
- 如果 docker run 指定了其他命令,CMD 指定的默認命令將被忽略。
- 如果 Dockerfile 中有多個 CMD 指令,只有最后一個 CMD 有效。
- 在Dockerfile中,只能有一個ENTRYPOINT指令,如果有多個ENTRYPOINT指令則以最后一個為准。
- 如果鏡像中設定了ENTRYPOINT,那么命令中的CMD也可以作為參數追加到ENTRYPOINT中。
- entrypoint如果有多個,只會執行最后一個entrypoint
- docker run的--entrypoint可以覆蓋Dockerfile中ENTRYPOINT設置的命令。