#aws-fargate
#aws-fargate
Вопрос:
У меня есть один контейнер Nginx и один контейнер WordPress (php-fpm), объявленный в задаче ECS Fargate, запущенной на платформе 1.3.0 (или то, что помечено как ПОСЛЕДНЕЕ).
Я пытаюсь переключиться на платформу 1.4.0 для поддержки томов EFS.
Я хочу, чтобы контейнер Nginx обслуживал статические ресурсы непосредственно из контейнера WordPress. В версии 1.3.0 я просто связываю тома между контейнерами, и все работает. Файлы из /var/www/html
контейнера WP сопоставлены с контейнером `/var/www/ html/ on Nginx.
[
{
"name": "wordpress",
"image": "....",
...
"mountPoints": [
{
"readOnly": false,
"sourceVolume": "asset-volume",
"containerPath": "/var/www/html"
}
]
},
{
"name": "nginx",
"image": "....",
...
"mountPoints": [
{
"sourceVolume": "asset-volume",
"containerPath": "/var/www/html",
"readOnly": true
}
]
}
]
volume {
name = "asset-volume"
host_path = null
}
Однако в версии 1.4.0 вместо сопоставления папки с WordPress на Nginx создается впечатление, что она создает пустой том на хосте и сопоставляет его /var/www/html
с обоими контейнерами, удаляя таким образом все содержимое /var/www/html
контейнера WordPress.
Я изучал эту проблему в течение последних нескольких дней; одно из решений — сохранить код /var/www/code
, а затем скопировать его /var/www/html
в среду выполнения контейнера, но это кажется очень плохим решением. Интересно, удалось ли кому-нибудь поделиться данными из одного контейнера в другой в Fargate 1.4.0 и как они этого добились.
Спасибо
Ответ №1:
У меня была аналогичная проблема. Также нашел разговор на эту тему на Github: https://github.com/aws/containers-roadmap/issues/863
tl; dr; Добавьте VOLUME /var/www/html
к себе wordpress dockerfile, удалите раздел определения контейнера wordpress mountPoints
и в определении контейнера nginx замените mountPoints
на volumesFrom
.
вот так:
"volumesFrom": [
{
"sourceContainer": "wordpress",
"readOnly": true
}
]
Ответ №2:
пожалуйста, следите за этим разговором на GitHub:
https://github.com/USACE/instrumentation/issues/88
Убедитесь, что dockerfiles для wordpress и nginx содержат следующую директиву:
ОБЪЕМ [ «/var/www/ html» ]