Должен включать ключ AWSEBDockerrunVersion в файл Dockerrun.aws.json
Пытаюсь перенести свое приложение Docker Compose на Elastic Beanstalk и сталкиваюсь с некоторыми проблемами.
Боролся с этим около недели, продвинулся довольно далеко, но все еще есть некоторые большие проблемы. Я преобразовал мой docker-compose.yml
в Dockerrun.aws.json
с помощью container transform:
Довольно просто - Node (NextJS), Python (Django), Nginx и Postgres
Моя проблема заключается в следующем, это не работает в prod и всякий раз, когда я пытаюсь eb local run
я получаю следующую ошибку:
ERROR: ValidationError - The AWSEBDockerrunVersion key in the Dockerrun.aws.json file is not valid or is not included.
Еще более странно, когда я действительно eb deploy
получаю следующее:
Instance deployment: 'Dockerrun.aws.json' in your source bundle specifies an unsupported version. Elastic Beanstalk only supports version 1 for non compose app and version 3 for compose app. The deployment failed.
Но для этого формата файла не существует версии 3.
Я не очень понимаю, почему это проблема, хотя ключ явно включен. Я читал, что это может быть проблемой, если ваша платформа EB не является multidocker, но я считаю, что моя платформа правильная.
Когда я запускаю eb platform show
, я получаю следующее:
64bit Amazon Linux 2 v3.4.16 running Docker
, который, как я полагаю, действителен - единственным другим вариантом была бы опция ECS+EB, которая, как я полагаю, не работает с eb local run
в любом случае.
Заранее спасибо, очень мучаюсь с этим.