我有一个简单的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
中的遗漏,而是没有帮助。
提前感谢您的帮助。
答案 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