gpt4 book ai didi

environment-variables - Docker-撰写环境文件无法正常工作

转载 作者:行者123 更新时间:2023-12-04 08:37:35 27 4
gpt4 key购买 nike

我正在将docker-compose文件写入MySQL实例,并希望使用env文件中的一些变量:这实际上是以下文件:

docker-compose.yml

version: '3.3'
services:
db:
image: mysql
restart: always
env_file:
- ./imran.env
environment:
MYSQL_ROOT_PASSWORD: ${PASS}
ports:
- ${PORT1}: ${PORT2}


imran.env

PASS=imran123
PORT1=3306
PORT2=3306


我没有正确工作,而是出现以下错误:

WARNING: The PASS variable is not set. Defaulting to a blank string.
WARNING: The PORT2 variable is not set. Defaulting to a blank string.
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.db.ports contains unsupported option: '${PORT1}


请帮忙

最佳答案

您的docker-compose.yaml文件中存在一些问题:

A:

端口值之间的space符号。应该没有空格:

ports:
- ${PORT1}:${PORT2}


B:

您需要在 docker-compose.yaml所在的文件夹中使用 .env文件,以便为 docker-compose.yaml文件和docker容器声明默认环境变量。 env_file部分仅用于将值放入容器。

因此,您应该执行以下操作:

1。

用ENV变量将文件重命名为 .env

mv imran.env .env


2。

之后使用以下 docker-compose.yaml

version: '3.3'
services:
db:
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${PASS}
ports:
- ${PORT1}:${PORT2}

关于environment-variables - Docker-撰写环境文件无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48495663/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com