Docker Compose学习笔记

jonathan
2017-04-27 / 0 评论

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 不会继承 linksvolumes_from 中定义的容器和数据卷资源。

评论

博主关闭了当前页面的评论