【发布时间】:2015-11-05 20:58:29
【问题描述】:
我有一个 django 应用程序在 AWS Elastic Beanstalk 上的单个 docker 容器中运行。我无法让它正确运行迁移,它总是看到旧的 docker 映像并尝试从中运行迁移(但它没有最新的文件)。
我用我的 EBS 源包(一个包含 Dockerrun.aws.json 文件和 .ebextensions 目录的 zip)打包了一个 .ebextensions 目录。它有一个 setup.config 文件,如下所示:
container_commands:
01_migrate:
command: "CONTAINER=`docker ps -a --no-trunc | grep aws_beanstalk | cut -d' ' -f1 | head -1` && docker exec $CONTAINER python3 manage.py migrate"
leader_only: true
这部分模仿了this SO question 上的 cmets。
如果我再次重新部署应用程序,我已经验证它可以工作,因为这次之前运行的映像将具有更新的迁移文件。
有人知道如何在.ebextensions 脚本中访问最新的 docker 镜像或最新运行的容器吗?
【问题讨论】:
标签: amazon-web-services docker amazon-elastic-beanstalk