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

Run commands in container after deploy with Elastic Beanstalk

场景: 具有多 Docker 平台的 Elastic Beanstalk 环境。 NGinx 容器和 PHP7.1 容器 PHP/Symfony 申请

问题: 部署后我需要 运行 Doctrine cli 命令来更新数据库。我想出了如何使用以下代码动态而不是自动执行此操作。

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

我用 CodePipeline/CodeBuild

部署

在你的 Dockerfile 的末尾

CMD ["/start.sh"]

在您的 start.sh 文件中

#!/bin/sh
set -xe

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