背景

背景

背景

当我将我的 docker 环境部署到生产服务器时,我注意到应用程序无法正常工作。由于某种原因,容器内的环境变量设置不正确。同样重要的是,我通过以下方式定义环境环境文件

问题

当我意识到问题所在时,我就能追踪到问题所在,这docker-compose不会扩展生产服务器上的环境文件中定义的变量,而在我的开发机器上,它却按照我直观的期望去做。

演示配置

这个简单的配置只适用于我的开发环境。在生产环境中,它将产生:

错误:没有这样的图像:${DISTRIBUTIVE}:${TAG}:无效的参考格式:存储库名称必须小写

# .env
DISTRIBUTIVE=debian
TAG=latest
IMAGE=${DISTRIBUTIVE}:${TAG}

# docker-compose.yml
version: "3.0"
services:
    service:
        image: "${IMAGE}"

问题的可能原因

我认为这可能是docker-compose(扩展变量)的一个新功能,也许与我在开发机器上安装了更新的 docker 有关。

  • 开发
    • docker-19.03.12-ce
    • 撰写-1.27.3
  • 产品
    • 码头工人-19.03.13
    • 撰写-1.21.0

问题

  • 是否有关于环境文件内变量的文档?
  • 如果这是一个新功能,那么它的版本要求是什么?

相关内容