赞
踩
目录
docker-compose的Yml文件可以使用一些环境配置进行动态配置,减少docker-compose.yml配置文件在不同环境下修改,以下为具体的使用方法
1、基本使用
- web:
- image: "webapp:${TAG}"
2、使用.evn配置文件
如果有多个环境变量,则可以通过将它们添加到名为的默认环境变量文件中.env或使用--env-file命令行选项提供环境变量文件的路径来替换它们,.env文件默认为与docker-compose.yml文件在同一目录
- $ cat .env
- TAG=v1.5
-
- $ cat docker-compose.yml
- version: '3'
- services:
- web:
- image: "webapp:${TAG}"
运行时docker-compose up,web上面定义的服务将使用该映像webapp:v1.5。可以使用config命令验证这一点,该命令会将解析的应用程序配置输出到终端:
- $ docker-compose config
-
- version: '3'
- services:
- web:
- image: 'webapp:v1.5'
Shell中的值优先于.env文件中指定的值。
如果TAG在Shell程序中设置为其他值,则Shell中的值替换image 将使用该值:
- $ export TAG=v2.0
- $ docker-compose config
-
- version: '3'
- services:
- web:
- image: 'webapp:v2.0'
可以使用命令行参数覆盖环境文件路径--env-file
3、使用--env-file选项
通过将文件作为参数,你可以存储在任何地方,并适当命名,例如.env.ci,.env.dev,.env.prod。使用以下--env-file选项完成文件路径的传递:
docker-compose --env-file ./config/.env.dev up
4、指定不同的配置文件
- web:
- env_file:
- - web-variables.env
5、使用docker run 传递环境变量
- # docker-compose run -e 参数1 参数2 参数3
- docker-compose run -e DEBUG web python console.py
6、使用多环境变量
- $ cat ./Docker/api/api.env
- NODE_ENV=test
-
- $ cat docker-compose.yml
- version: '3'
- services:
- api:
- image: 'node:6-alpine'
- env_file:
- - ./Docker/api/api.env
- environment:
- - NODE_ENV=production
可以配置:dev、test、production等环境配置
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。