docker-compose启动容器并在命令行中传递环境变量
时间: 2024-03-19 13:08:24 浏览: 29
在使用 `docker-compose` 启动容器时,可以通过 `environment` 关键字在 `docker-compose.yml` 文件中设置环境变量。同时,在命令行中也可以传递环境变量给 `docker-compose` 命令。
以下是一个示例 `docker-compose.yml` 文件:
```yaml
version: '3'
services:
myapp:
image: myapp-image
environment:
- ENV_VAR1=value1
- ENV_VAR2=value2
```
在上述示例中,我们定义了一个名为 `myapp` 的服务,并设置了两个环境变量 `ENV_VAR1` 和 `ENV_VAR2`,分别设置为 `value1` 和 `value2`。
在命令行中,可以使用 `-e` 参数传递环境变量给 `docker-compose` 命令。例如:
```
docker-compose up -e ENV_VAR3=value3
```
上述命令会启动容器,并在启动过程中将环境变量 `ENV_VAR3` 设置为 `value3`。
在容器内部,可以通过读取相应的环境变量来使用它们。具体的方式取决于你的应用程序和编程语言。
请注意,使用 `-e` 参数传递的环境变量会覆盖在 `docker-compose.yml` 文件中定义的同名环境变量的值。如果不想覆盖,可以在命令行中设置新的环境变量,或者在 `docker-compose.yml` 文件中删除相应的环境变量设置。