AWS ECS:简单的 Apache Web 服务器容器失败

AWS ECS:简单的 Apache Web 服务器容器失败

我开始使用 AWS ECS,作为概念验证,我尝试运行一个简单的 Apache Web 服务器。问题是任务失败,并关闭并显示以下消息:

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

我知道拉取操作成功了,图像可以做它应该做的事,而且我的网络一切正常,因为当我从底层 EC2 实例上的命令行运行此命令时:

docker run -d -p 80:80 reponame/webserver /usr/sbin/apache2ctl -D FOREGROUND

...它给了我一个可以工作的网页。我给容器设置了 512 MB 的硬限制,并将端口映射从 80 到 80。它被标记为“必需”,我尝试使用各种类型的值作为入口点,包括:

/usr/sbin/apache2ctl -D FOREGROUND

有什么想法吗?谢谢,

答案1

我放弃了,并决定将 apachectl 命令及其参数添加到 dockerfile 中:

CMD /usr/sbin/apache2ctl -D FOREGROUND

然后我重建了镜像并再次推送。这样,运行时就不需要通过任务定义将任何东西传递到容器中了。

相关内容