" / bin / sh:1:[“apache2ctl”,:找不到"在码头工人

时间:2017-07-13 13:53:06

标签: bash docker apache2

我有一个简单的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中的遗漏,而是没有帮助。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

更改此行

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

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

顺便说一句,你应该将你的RUN分组,参见

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

答案 1 :(得分:0)

你有CMD(“”)的印刷引号,使用直引号(“)。 - Dan Lowe