【问题标题】:ENTRYPOINT & CMD commands with mongod results in unknown option error带有 mongodb 的 ENTRYPOINT 和 CMD 命令导致未知选项错误
【发布时间】:2014-06-24 15:28:44
【问题描述】:

我正在使用多个 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 方法,但无法弄清楚我收到错误的原因。

【问题讨论】:

  • 作为一名 docker 粉丝,我仍然不得不说 serverfault.com 确实是您需要发布问题的地方。 StackOverflow 不再是曾经的“万物计算”的“转储桶”。现在有专门的网站来询问这些问题。 StackOverflow 仅适用于“编程主题”。

标签: mongodb docker boot2docker


【解决方案1】:

使用 json 语法时,需要单独传递每个参数。它将每个元素视为一个,而在非 json 语法中,它将被 shell 拆分并视为两个。

CMD ["--port", "27017", "--dbpath", "/data/db", "--smallfiles"] 可以工作。

或者,我不知道 mongo 是否支持它,但大多数软件都支持,你可以这样做:

CMD ["--port=27017", "--dbpath=/data/db", "--smallfiles"] 所以它将作为一个元素传递,但会被 mongo 解释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多