首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

docker-compose.yml不会读取主机名的环境变量

。在docker-compose.yml文件中,可以使用环境变量来配置容器的参数。然而,docker-compose在解析yml文件时,并不会直接读取主机的环境变量作为参数。相反,docker-compose会将yml文件中定义的环境变量传递给容器,在容器内部使用。

这意味着,如果你在docker-compose.yml中使用了环境变量,并希望其值来自主机的环境变量,你需要在运行docker-compose命令时,先将主机的环境变量传递给docker-compose。

下面是一个示例的docker-compose.yml文件:

代码语言:txt
复制
version: '3'
services:
  web:
    image: nginx
    ports:
      - ${HOST_PORT}:80
    environment:
      - MYSQL_HOST=${MYSQL_HOST}
      - MYSQL_USER=${MYSQL_USER}
      - MYSQL_PASSWORD=${MYSQL_PASSWORD}

在这个例子中,我们使用了三个环境变量:HOST_PORT,MYSQL_HOST,MYSQL_USER和MYSQL_PASSWORD。然而,docker-compose并不会直接读取主机的环境变量作为参数。因此,在运行docker-compose命令时,我们需要通过以下方式传递这些环境变量的值:

代码语言:txt
复制
$ HOST_PORT=8080 MYSQL_HOST=localhost MYSQL_USER=root MYSQL_PASSWORD=pass123 docker-compose up

这样,docker-compose就会将这些环境变量的值传递给相应的容器,并在容器内部使用。

总结一下,docker-compose.yml不会直接读取主机的环境变量作为参数。你需要在运行docker-compose命令时,通过传递环境变量的方式,将主机的环境变量的值传递给docker-compose,并在docker-compose.yml中使用这些环境变量的值。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券