使用Elastic Beanstalk部署后,在容器中运行命令

时间:2018-03-15 11:29:09

标签: php elastic-beanstalk aws-codepipeline aws-codebuild

情境: 具有多Docker平台的Elastic Beanstalk环境。 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进行部署

1 个答案:

答案 0 :(得分:1)

在Dockerfile的末尾

CMD ["/start.sh"]

在你的start.sh文件中

#!/bin/sh
set -xe

php bin/console doctrine:schema:update --force