Должен включать ключ 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 в любом случае.

Заранее спасибо, очень мучаюсь с этим.

Вернуться на верх