Docker Compose学习笔记
如果需要指定额外的编译镜像的 Dockefile 文件,可以通过该指令来指定。
例如
dockerfile: Dockerfile-alternate
注意,该指令不能跟 image 同时使用,否则 Compose 将不知道根据哪个指令来生成最终的服务镜像。
extends
基于其它模板文件进行扩展。
例如我们已经有了一个 webapp 服务,定义一个基础模板文件为 common.yml。
# common.yml
webapp:
build: ./webapp
environment:
- DEBUG=false
- SEND_EMAILS=false
再编写一个新的 development.yml 文件,使用 common.yml 中的 webapp 服务进行扩展。
# development.yml
web:
extends:
file: common.yml
service: webapp
ports:
- "8000:8000"
links:
- db
environment:
- DEBUG=true
db:
image: postgres
使用 extends 需要注意:
- 要避免出现循环依赖,例如 A 依赖 B,B 依赖 C,C 反过来依赖 A 的情况。
extends不会继承links和volumes_from中定义的容器和数据卷资源。
评论