У меня есть приложение node.js, упакованное в изображение докеров, размещенное в публичном репозитории.AWS Beanstalk docker изображение автоматическое обновление не работает
Я успешно развернул это изображение в приложении док-станции AWS Beanstalk. Проблема в том, что я ожидал, что приложение Beanstalk будет автоматически обновляться при обновлении образа в общедоступном репозитории, как показано ниже.
Dockerrun.aws.json:
{
"AWSEBDockerrunVersion": "1",
"Image": {
"Name": "peveuve/dynamio-payment-service",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "8000"
}
],
"Logging": "/var/log/dynamio"
}
Dockerfile очень просто:
FROM node:4.2.1-onbuild
# Environment variables
ENV NODE_ENV test
ENV PORT 8000
# expose application port outside
EXPOSE $PORT
документация Amazon довольно ясно, что:
Необязательно включать клавишу Update , Значение по умолчанию - «true», а инструктирует Elastic Beanstalk, чтобы проверить репозиторий, вытащить все изображения и перезаписать любые кешированные изображения.
Но я должен обновить приложение Beanstalk вручную, загрузив новую версию дескриптора Dockerrun.aws.json. Я что-то пропустил? Должно ли это работать так?
Я думаю, что вы в основном правильно. Я просто не уверен, что перезагрузки достаточно, необходима перестройка. Это то, что я должен был сделать, и другой парень сказал то же самое в своем блоге. Если вы согласитесь, поднимите свой андерс, и я его приму. – peveuve
хороший catch! я обновил ответ –
Обновление: на самом деле, не перестраивайте свое приложение, это занимает очень много времени. Гораздо лучше загрузить тот же Dockerrun.aws.json и увеличить номер версии. – peveuve