【问题标题】:Run commands in container after deploy with Elastic Beanstalk使用 Elastic Beanstalk 部署后在容器中运行命令
【发布时间】:2018-08-24 04:40:31
【问题描述】:

场景: 具有多 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 进行部署

【问题讨论】:

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


    【解决方案1】:

    在 Dockerfile 的末尾

    CMD ["/start.sh"]
    

    在你的 start.sh 文件中

    #!/bin/sh
    set -xe
    
    php bin/console doctrine:schema:update --force
    

    【讨论】:

      猜你喜欢
      • 2018-04-16
      • 2016-06-10
      • 2017-04-07
      • 1970-01-01
      • 2015-07-31
      • 2022-11-30
      • 2021-09-10
      • 2018-05-23
      • 2014-11-09
      相关资源
      最近更新 更多