“/ bin / sh:1:[”apache2ctl“,在docker中找不到

我有一个简单的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”] 

我用下面的语句来构build它

 docker build -t mywebserver . 

这工作得很好,但是当我想执行它

 docker run -p 80:80 mywebserver 

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

所以在此先感谢您的帮助。

改变这一行

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

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

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

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

你在CMD(“”)中有印刷引号,使用直引号(“) – Dan Lowe