shenyuan · 2017-11-05 11:08:02 +08:00 · 2284 次点击
这是一个创建于 1049 天前的主题,其中的信息可能已经有所发展或是发生改变。
目前的方法是写一个 docker-compose.yml 的模本文件,然后去替换里面的相关参数,例如模板文件如下:
version: '2'
services:
db:
image: mysql
container_name: $db_name
networks:
- app_net
web:
build: ./web
expose:
- "80"
- "443"
- "8080"
networks:
app_net:
ipv4_address: $web_ip
container_name: $web_name
depends_on:
- db
links:
- db
networks:
app_net:
driver: bridge
ipam:
driver: default
config:
- subnet: $subnet
gateway: $gateway
模板文件通过 python string 的 Template 进行变量替换,通过替换 subnet、gateway 以及 container_name、web_ip 的方法来生成不同的 docker-compose.yml 文件,感觉这种方式不是很优雅,有没有更好的方案呢?