![ElasticBeanstalk 上的 Docker 缺少环境变量](https://linux22.com/image/736996/ElasticBeanstalk%20%E4%B8%8A%E7%9A%84%20Docker%20%E7%BC%BA%E5%B0%91%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F.png)
我已经为我的 Django 网站配置了一个 Docker 容器,并将其部署到 Amazon 的 ElasticBeanstalk 平台。
我的几个环境变量是通过 .ebextensions 文件配置的,其他变量则直接在 EB 控制台中设置,以使它们脱离源代码控制,并让我更容易地修改它们(比如密钥或管理员 URL)。
我遇到了一个问题,运行时看到的变量似乎eb printenv
没有反映在 Docker 容器中。例如,运行时docker inspect
我看到的是旧版本的变量DJANGO_ALLOWED_HOSTS
,而我的DJANGO_ADMIN_URL
根本不存在。我设置的其他几个变量也不在。
我尝试重建容器,终止实例并重新创建它,但似乎都不起作用。这些变量拒绝“复制”到容器中,原因我不明白。
我是否忽略了什么?
答案1
似乎我之前的一次部署没有成功完成,并且当 EB 从旧版本“切换”到新版本时,只有在运行前一个版本时它才会删除旧文件。
长话短说,重建整个环境(而不仅仅是容器)可以解决问题。