【问题标题】:"/bin/sh: 1: [“apache2ctl”,: not found" in docker“/bin/sh:1:[“apache2ctl”,:未找到”在泊坞窗
【发布时间】:2017-07-13 13:53:06
【问题描述】:

我有一个简单的 Dockerfile

FROM ubuntu
RUN apt-get update
RUN apt-get install -y apache2
RUN apt-get install -y apache2-utils
RUN apt-get clean
RUN apt-get upgrade -y
EXPOSE 80
CMD [“apache2ctl”, “-D FOREGROUND”]

我用以下语句构建它

docker build -t mywebserver .

效果很好,但是当我想用它来执行它时

docker run -p 80:80 mywebserver

它返回您可以在标题中看到的错误消息。 我还尝试了/usr/sbin/apache2ctl 而不是apache2ctl 以确保它不是因为PATH 中的缺失,但这并没有帮助。

提前感谢您的帮助。

【问题讨论】:

  • CMD 中有印刷引号 (“ ”),请使用直引号 (")。
  • 非常感谢!现在可以了

标签: bash docker apache2


【解决方案1】:

CMD 中有印刷引号 (“ ”),请使用直引号 (")。- Dan Lowe

【讨论】:

  • 这是问题所在,它在谷歌构建 dockerfile/webserver 的前两个结果中都出现了,哈哈
【解决方案2】:

改变这一行

CMD [“apache2ctl”, “-D FOREGROUND”]

CMD ["apache2ctl", "-D","FOREGROUND"]

顺便说一下,你应该把你的 RUN 分组,看看

https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/

【讨论】:

    猜你喜欢
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多