Запускать команды в контейнере после развертывания с помощью Elastic Beanstalk

Сценарий: Elastic Beanstalk Environment с платформой Multi Docker. Контейнер NGinx и контейнер PHP7.1 Приложение PHP / Symfony

Проблема: мне нужно запустить команду Doctrine cli после развертывания, чтобы обновить базу данных. Я понял, как сделать это динамически, но не автоматически с помощью следующего кода.

docker exec $(docker ps | grep php-fpm | awk '{print $1}') php ./bin/console doctrine:schema:update --force 

Я развертываю с помощью CodePipeline / CodeBuild


person prometheus    schedule 15.03.2018    source источник


Ответы (1)


В конце вашего Dockerfile

CMD ["/start.sh"]

В вашем файле start.sh

#!/bin/sh
set -xe

php bin/console doctrine:schema:update --force
person Romu    schedule 15.03.2018