ドッカーファイルでは、ENTRYPOINTとCMDの両方が指定されていると、CMDの値はENTRYPOINTのデフォルトパラメータになり、追加のパラメータでコンテナを実行すると、 dockerfileのCMDの値を置き換えます。はドッカーファイルのCMDとENTRYPOINTと混同されています
が、私はMongoDBののdockerfileを見たとき、私は、そのdockerfileのエントリポイントとCMD一部混乱している:
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 27017
CMD ["mongod"]
私はdocker run mongo:latest
を実行すると、これはdocker-entrypoint.sh mongod
になります知っているが、私はdocker run mongo:latest --auth
を実行するとなぜ正しく動作するのでしょうか? docker-entrypoint.sh --auth
になりませんか? --auth
はmongod
を置き換えますので、なぜ私はdocker run mongo --auth
を実行しますが、正常に動作しますか?
ありがとう、それは今明らかです。 – laoqiren