Запустите Docker-контейнер с аргументом тома в AWS ECS в качестве определения задачи или службы.
Я использую образ докера nginx-proxy для прокси моего другого веб-приложения. Я могу запустить это изображение с помощью
docker run -d -p 80:80 -e ENABLE_IPV6=true -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
команда. Вот -v
опция обязательна, если я запускаю Docker без -v
т.е.
docker run -d -p 80:80 -e ENABLE_IPV6=true jwilder/nginx-proxy
это дает ошибку:
ERROR: you need to share your Docker host socket with a volume at /tmp/docker.sock
Typically you should run your jwilder/nginx-proxy with: `-v /var/run/docker.sock:/tmp/docker.sock:ro`
See the documentation at http://git.io/vZaGJ
WARNING: /etc/nginx/dhparam/dhparam.pem was not found. A pre-generated dhparam.pem will be used for now while a new one is being generated in the background. Once the new dhparam.pem is in place, nginx will be reloaded.
Теперь мой вопрос: как я могу это обеспечить? -v
аргумент, когда я запускаю этот докер-контейнер, используя определение задачи или сервис AWS ECS.
Могу ли я предоставить -v
аргумент в Dockerfile?
1 ответ
Флаг -v является сокращением для подключенного тома. Вот документация AWS для этого. Это также можно сделать в Консоли управления AWS, добавив том в ревизию определения задачи, а затем в определении контейнера в разделе " Хранение и ведение журнала " подключите этот том к контейнеру.
Связывание монтировок в настоящее время не поддерживается AWS Fargate. Вы захотите придерживаться ECS с хостами EC2, если вы настроены на использование этой настройки nginx-proxy. Изменить: это больше не так, привязка монтирования в настоящее время поддерживается для Fargate (спасибо @bobics)
Последнее предупреждение: привязанные подключенные тома сохраняются только для хоста, на котором они смонтированы. Таким образом, если вы используете более одного экземпляра EC2 в качестве хоста, у вас будет два расходящихся подключенных подключенных тома.