ECS монтирует том в контейнер nginx

Я пытаюсь настроить ECS для запуска моего докера php / nginx.

Он работает локально, используя этот файл docker-compose.yml:

version: '2'
services:

nginx:
image: NGINX-IMAGE
ports:
- 80:80
links:
- php
volumes_from:
- php
environment:
APP_SERVER_NAME: <ip>

php:
image: PHP-IMAGE
ports:
- 9000:9000
volumes:
- /var/www/html

Проблема в том, что я не могу заставить это работать с помощью ECS.
Я не знаю, как создать объем веб-данных и позволить nginx захватить его, используя volumes_from,

Я пытаюсь создать том, используя этот JSON:

 volumes='[
{
"name": "webdata",
"host": {
"sourcePath": "/var/www/html"}
}
]'

И затем в мои определения контейнера к php-контейнеру я добавляю:

"mountPoints":
[
{
"sourceVolume": "webdata",
"containerPath": "/var/www/html",
"readOnly": false
}
]

Однако, когда я делаю это, он добавляет контент от хоста /var/www/html папка в /var/www/html папка с контейнерами.
У меня вопрос, как мне настроить объем для использования данных из php /var/www/html контейнер и позволить nginx получить доступ к этим данным?

1

Решение

Мне удалось найти решение, подходящее для настройки ECS.
Я просто создал VOLUME в моей php Dockerfile, ссылаясь /var/www/html,

Это означает, что мне больше не нужно ссылаться на объем в volumes раздел php контейнера. И nginx все равно сможет получить доступ к тому с volumes_from,

Обновить

Это мое определение рабочей задачи для ECS:

task_template='[
{
"name": "nginx",
"image": "NGINX_IMAGE",
"essential": true,
"cpu": 10,
"memoryReservation": 1000,
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
],
"environment" : [
{ "name" : "APP_SERVER_NAME", "value" : "%s" }
],
"links": [
"app"],
"volumesFrom": [
{ "sourceContainer": "app" }
]
},
{
"name": "app",
"image": "IMAGE",
"essential": true,
"cpu": 10,
"memoryReservation": 1000,
"portMappings": [
{
"containerPort": 9000,
"hostPort": 9000
}
]
}
]'

А потом я добавил VOLUME ["/var/www/html"] к моему приложению Dockerfile. Теперь nginx может получить доступ к данным с помощью volumes_from аргумент в определении задачи.

3

Другие решения

Других решений пока нет …