博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker-compose.yml模板文件
阅读量:5135 次
发布时间:2019-06-13

本文共 1419 字,大约阅读时间需要 4 分钟。

默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。

示例:

version: "3"services:  webapp:    image: examples/web    ports:      - "80:80"    volumes:      - "/data"

注意每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)等来自动构建生成镜像。

如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMDEXPOSEVOLUMEENV 等) 将会自动被获取,无需在 docker-compose.yml 中再次设置。

build

1、

指定 Dockerfile 所在文件夹的路径(可以是绝对路径,或者相对 docker-compose.yml 文件的路径)。 Compose 将会利用它自动构建这个镜像,然后使用这个镜像。

version: '3'services:  webapp:    build: ./dir      # dir文佳夹里面有Dockerfile文件

2、

你也可以使用 context 指令指定 Dockerfile 所在文件夹的路径。

使用 dockerfile 指令指定 Dockerfile 文件名。

使用 arg 指令指定构建镜像时的变量。

version: '3'services:  webapp:    build:      context: ./dir     # Dockerfile 所在文件夹的路径。      dockerfile: Dockerfile-alternate   # Dockerfile 文件名      args:    # 构建镜像时的变量        buildno: 1

使用 cache_from 指定构建镜像的缓存

build:  context: .  cache_from:    # 指定构建镜像的缓存    - alpine:latest    - corp/web_app:3.14

command

覆盖容器启动后默认执行的命令。

command: echo "hello world"

container_name

指定容器名称。默认将会使用 项目名称_服务名称_序号 这样的格式。

container_name: docker-web-container

注意: 指定容器名称后,该服务将无法进行扩展(scale),因为 Docker 不允许多个容器具有相同的名称。

devices

指定设备映射关系。

devices:  - "/dev/ttyUSB1:/dev/ttyUSB0"

depends_on

解决容器的依赖、启动先后的问题。以下例子中会先启动 redis db 再启动 web

version: '3'services:  web:    build: .    depends_on:      - db      - redis  redis:    image: redis  db:    image: postgres

注意:web 服务不会等待 redis db 「完全启动」之后才启动。

 

转载于:https://www.cnblogs.com/jin-yuana/p/10081251.html

你可能感兴趣的文章
Hdu - 1002 - A + B Problem II
查看>>
HDU - 2609 - How many
查看>>
每天CookBook之Python-003
查看>>
每天CookBook之Python-004
查看>>
Android设置Gmail邮箱
查看>>
StringBuffer的用法
查看>>
js编写时间选择框
查看>>
java基础英语---第二十四天
查看>>
再读headfirst-原则与模式摘录
查看>>
如何创建ChromeApp
查看>>
关于泛型反射的案例
查看>>
[jQuery]使用jQuery.Validate进行客户端验证(高级篇-下)——不使用微软验证控件的理由...
查看>>
小白学数据分析----->留存率的三个普适原则
查看>>
类的继承查询策略:广度优先
查看>>
第三次作业
查看>>
Django中Celery简介
查看>>
hadoop之转载
查看>>
AOP面向方面编程
查看>>
ob_start()函数
查看>>
【JS笔记】5.1 Object类型
查看>>