Docker -compose.yml для NodeJs с MySQL на AWS Elasti c Бобовый стебель, один контейнер Docker - PullRequest
0 голосов
/ 16 января 2020

У меня есть приложение Nodejs, которое размещено в AWS EB Один контейнер Docker. Я подключаюсь к MySQL базе данных из приложения. Сейчас я развертываю свое приложение с консоли AWS, загружая zip-файл. Все работает как положено. Я хотел бы иметь возможность изменить sh на AWS с помощью CLI. Насколько я понимаю, мне нужен файл docker -compose.yml для выполнения sh. Я видел образцы docker -композитного файла, который создает два контейнера один для узла, другой для mysql. Есть ли способ для пользователя docker -compose.yml и его развертывания в одном контейнере Docker?

Заранее спасибо за любые рекомендации.

1 Ответ

1 голос
/ 16 января 2020

Я не думаю, что вы можете развернуть docker -композитный файл в Elasti c Beanstalk. Но я могу подумать о двух способах развертывания вашего кода из командной строки:

Один из них - поместить существующий zip-файл в корзину s3 (которую можно записать в сценарии), а затем использовать Elasti c Командная строка Beanstalk примерно такая:

aws elasticbeanstalk create-application-version --application-name avengers \
    --version-label v1 \
    --source-bundle S3Bucket="avengers-docker-eb",S3Key="deployment.zip" \
    --auto-create-application \
    --region eu-west-3

Полные инструкции приведены здесь: https://read.acloud.guru/docker-on-elastic-beanstalk-tips-e1a4e6b70ff2

Второй способ, который вы можете предпочесть, - это создать файл Dockerrun. aws. json, который указывает на ваше изображение docker в корзине s3 или в реестре docker (вы можете использовать aws). Оттуда вы можете обновить свое приложение из кли, например:

aws elasticbeanstalk update-environment --application-name [your_app_name] --environment-name [your_environment_name] --version-label [your_version_label]

Соответствующая документация здесь: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/single-container-docker.html

Y

...