要約すると、
複数の実行が存在する可能性があり、cmdとエントリポイントは1つしか存在できません(通常、アプリの実行に使用されます)
cmdはdockerコマンドで上書きできますが、エントリーポイントはできません
このコマンドは、コンテナーが起動したときに実行され、docker runは他のコマンドを指定しません。
-
docker runが他のコマンドを指定する場合、CMDによって指定されたデフォルトのコマンドは無視されます。
-
Dockerfileに複数のCMD命令がある場合、最後のCMDのみが有効です。
ENTRYPOINTのExec形式は、実行するコマンドとそのパラメーターを設定するために使用され、追加のパラメーターはCMDを通じて提供できます。
ENTRYPOINTのパラメーターは常に使用され、コンテナーの開始時にCMDの追加パラメーターを動的に置き換えることができます。
たとえば、次のDockerfileフラグメント:
ENTRYPOINT ["/ bin / echo"、 "Hello"]
CMD ["世界"]
コンテナーがdocker run -it [image]を介して開始されると、出力は次のようになります。
こんにちは世界
そして、それがdocker run -it [image] CloudManによって開始された場合、出力は次のようになります。
こんにちはCloudMan