Назад | Перейти на главную страницу

AWS ECS: простой контейнер веб-сервера Apache не работает

Я начинаю работать с AWS ECS и, в качестве доказательства концепции, пытаюсь запустить простой веб-сервер Apache. Проблема в том, что задача не выполняется, завершается с сообщением:

Essential container in task exited

Контейнер в моей задаче извлекает образ 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 МБ и сопоставление портов от 80 до 80. Он помечен как «необходимый», и я пробовал использовать все виды значений для точки входа, включая:

/usr/sbin/apache2ctl -D FOREGROUND

Любые идеи? Спасибо,

Я сдался и решил вместо этого добавить команду apachectl и ее аргументы в файл dockerfile:

CMD /usr/sbin/apache2ctl -D FOREGROUND

Затем я перестроил изображение и снова нажал на него. Таким образом, не было необходимости передавать что-либо в контейнер через определение задачи во время выполнения.