2015-11-25 2 views
2

У меня есть 4 докерных контейнера, где 2 продолжают работать - nginx и hhvm. Но кроме того, у меня есть 2 контейнера только для данных, которые не работают постоянно. Это работает отлично, если вы не попытаетесь отправить их в AWS ECS.Докер-контейнер с данными только на AWS ECS

09c4fc12-b63a-48a9-baba-ebcb67191cf0/data STOPPED ExitCode: 0   ecscompose-docker:9 
09c4fc12-b63a-48a9-baba-ebcb67191cf0/hhvm STOPPED      ecscompose-docker:9 
09c4fc12-b63a-48a9-baba-ebcb67191cf0/nginx STOPPED      ecscompose-docker:9 
09c4fc12-b63a-48a9-baba-ebcb67191cf0/data2 STOPPED ExitCode: 0   ecscompose-docker:9 

В общем случае контейнеры с данными только должны существовать, но им не нужно продолжать работать. Поэтому я не уверен, с чем сейчас столкнуться. Хранить контейнеры будут только исправление, но не решение.

Поскольку контейнеры, предназначенные только для данных, не являются лучшим решением, потому что при развертывании они обрабатываются как мусор - я думал об использовании некоторых других постоянных хранилищ, которые можно было бы отнести. Но я не уверен в этом.

ответ

0

Я принимаю данные форматов данных данных и генерирует вывод, который потребляется другими контейнерами.

Если между данными и другими контейнерами определены докеры, вам придется запускать оба контейнера.

Если контейнеры данных являются временными, я бы предложил определить объем данных докеров для контейнера данных и записать данные в том.

Объем данных поддерживается каталогом с хоста демона Engine, то же место может быть загружено как тома в другие контейнеры, которые могут использовать данные, доступные в этом месте.

При определении тома убедитесь, что вы можете назначить соответствующие разрешения RW на основе функциональности контейнера.

1

Это вид Hacky, но AWS технологий предложил мне поставить это в нижней части моего Dockerfile:

CMD ["/bin/sh", "-c", "while true; do sleep 1; done"] 

Это будет держать ваши данные только объем контейнера работает так, что ECS будет счастлив.

Смежные вопросы