docker-compose.yaml中的变量如何传入
时间: 2023-10-18 08:17:26 浏览: 53
在docker-compose.yaml文件中,可以使用`${VARIABLE}`这样的语法定义一个变量。变量可以在`environment`、`command`和`args`等字段中使用。
要传入变量,可以通过在启动docker-compose时指定环境变量的方式来实现。比如:
```
$ export VARIABLE=value
$ docker-compose up
```
或者可以在docker-compose.yaml中使用`.env`文件来定义环境变量。比如:
```
# .env文件
VARIABLE=value
```
然后在docker-compose.yaml中使用`${VARIABLE}`来引用这个环境变量。
注意:在使用`.env`文件时,要确保`.env`文件位于docker-compose.yaml文件所在的目录。另外,`.env`文件中定义的变量会覆盖系统中已经存在的同名变量。
相关问题
docker-compose.yaml 环境变量
Docker Compose允许我们在docker-compose.yml文件中设置环境变量。在docker-compose.yml文件中,可以使用.env文件来定义环境变量。比如,在.env文件中定义了REDIS_PASSWORD=ABC123这个环境变量,然后在docker-compose.yml文件中可以通过$REDIS_PASSWORD来引用这个环境变量。例如,可以这样设置REDIS_PASSWORD环境变量:
```
services:
redis:
environment:
- REDIS_PASSWORD=$REDIS_PASSWORD
```
在执行docker-compose命令时,必须在docker-compose.yml所在的目录下执行。可以使用docker-compose -f docker-compose.yml up -d命令来创建并启动容器。使用docker ps -a命令可以查看构建出的镜像。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [【Docker系列】Docker Compose 环境变量](https://blog.csdn.net/weixin_48447848/article/details/122632551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Docker-Compose 与 YAML 配置文件格式](https://blog.csdn.net/duanbaoke/article/details/119238309)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
docker-compose.yaml 中隐藏密码
要在docker-compose.yaml文件中隐藏密码,可以使用Docker的secret功能或环境变量来传递密码。具体步骤如下:
使用Docker的secret功能:
1. 创建一个密码文件,例如:
```
echo "mypassword" | docker secret create my_password -
```
这将创建一个名为my_password的secret,并将密码存储在Docker的secret存储库中。
2. 在docker-compose.yaml文件中使用secrets关键字来引用secret,例如:
```
secrets:
my_password:
external: true
```
其中,my_password是引用的secret的名称。
3. 在服务中使用引用的secret,例如:
```
services:
myservice:
image: myimage
secrets:
- my_password
```
在服务中使用secrets关键字来引用secret,并使用它来设置密码。
使用环境变量:
1. 在docker-compose.yaml文件中定义一个环境变量,例如:
```
environment:
- PASSWORD=${PASSWORD}
```
2. 在命令行中设置环境变量,例如:
```
export PASSWORD=mypassword
```
3. 运行docker-compose命令时,使用--env-file选项指定环境变量文件,例如:
```
docker-compose --env-file .env up
```
其中,.env文件中包含了PASSWORD的值。
这样就可以在docker-compose.yaml文件中隐藏密码了。注意要保护好密码文件或环境变量文件,不要将其提交到代码仓库或分享给其他人。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![none](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)