带有 mongod 的 ENTRYPOINT 和 CMD 命令导致未知选项错误

带有 mongod 的 ENTRYPOINT 和 CMD 命令导致未知选项错误

我正在使用多个 Dockerfile 来设置我的服务器基础架构。我构建的 Dockerfile 之一是 MongoDB 服务器,它将在后续步骤中链接到正在运行的 Web 服务器应用程序。目前,我在运行 MongoDB 服务器时遇到问题,我收到以下错误:

"Error parsing command line: unknown option port 27017"

在我的 Dockerfile 中我有:

CMD ["--port 27017", "--dbpath /data/db", "--smallfiles"]    
ENTRYPOINT ["/usr/bin/mongod"]

当我使用上述命令代替以下命令时,一切正常:

CMD /usr/bin/mongod --port 27017 --dbpath /data/db --smallfiles

我更喜欢 CMD - Array 和 ENTRYPOINT 方法,但无法弄清楚为什么会收到错误。

答案1

您需要分离出数组中的参数,如下所示:

CMD ["--port", "27017", "--dbpath", "/data/db", "--smallfiles"]    
ENTRYPOINT ["/usr/bin/mongod"]

请参阅这个重复的答案:https://stackoverflow.com/a/24392379/684908

相关内容