我正在开始使用AWS ECS,作为一个概念certificate,我试图运行一个简单的Apache Web服务器。 问题是任务失败,closures消息:
Essential container in task exited
我的任务中的容器从我的dockerfile中取出了一个Docker Hub镜像:
FROM ubuntu:16.04 RUN apt update RUN apt install -y apache2 RUN echo "Welcome to my web site" > /var/www/html/index.html EXPOSE 80
我知道拉取成功了,图像可以做它应该做的事情,而且我的networking都很好,因为当我从底层EC2实例的命令行运行这个时:
docker run -d -p 80:80 reponame/webserver /usr/sbin/apache2ctl -D FOREGROUND
…它给了我一个工作的网页。 我给了容器一个512 MB的硬限制和从80到80的端口映射。它被标记为“基本”,我尝试使用各种值入口点,包括:
/usr/sbin/apache2ctl -D FOREGROUND
有任何想法吗? 谢谢,
我放弃了,而是决定将apachectl命令及其参数添加到dockerfile中:
CMD /usr/sbin/apache2ctl -D FOREGROUND
然后我重build了图像并再次推入。 这样,就不需要在运行时通过任务定义将任何东西传递给容器。