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

示例:

version: "3"services:webapp:image: examples/webports:- "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- redisredis:image: redisdb:image: postgres

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

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

docker-compose.yml模板文件相关推荐

  1. 轻松掌握开发必会的docker套路-yaml语法与docker compose.yml

    我们编程的时候常常需要定义配置文件,配置文件的格式也多种多样,有用php的数组格式的,有xml格式的,也有json格式的. 由于docker compose使用的配置文件是docker-compose ...

  2. 从零开始学习docker(十一)介绍Docker Compose yml文件介绍

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 如果我们有一个App,他由多个container组成,那么这个App的维护会非常繁琐. 包括: 要从Docker ...

  3. 这就是你日日夜夜想要的docker!!!---------Docker Compose容器编排理论+实操

    文章目录 一.Compose简介 1.在Compose中有两个重要的概念 2.docker,dockerfile与docker-compose区别 二.Compose安装与卸载 1.Centos系统安 ...

  4. Docker compose多容器管理

    前言 Docker Compose 将所管理的容器分为三层,工程(project),服务(service)以及容器(contaienr). Docker Compose 运行的目录下的所有文件(doc ...

  5. Docker入门-docker compose的使用

    Compose简介 Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排.其代码目前在https://github.com/docker/compose 上开源. ...

  6. Docker——Docker Compose

    介绍 允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project). 两个重要的概念: 服务 (service):一个 ...

  7. Docker容器虚拟化技术---Docker运维管理(Docker Compose)4

    Docker容器虚拟化技术-Docker运维管理(Docker Compose)4 Docker Compose 通过前面的讲解我们知道使用一个Dockerfile模板文件,可以很方便地定义一个单独的 ...

  8. Docker Compose如何与SkyEye完美结合

    docker-compose使用介绍 简介 docker-compose是docker官方的开源项目,负责容器集群编排的支持与实现.docker-compose允许用户通过一个单独的docker-co ...

  9. Docker Compose容器编排

    Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用.你需要定义一个 YAML 格式的配置文件docker-compose.yml, 写好多个容器之间 ...

最新文章

  1. 计算机ROM的数据可以写入吗,计算机ROM存贮器中的内容只能读出,不能写入。()
  2. (0064)iOS开发之枚举NS_ENUM和NS_OPTIONS的区别
  3. linux 修改 ko文件内核版本号
  4. C# HttpWebResponse WebClient 基础连接已经关闭: 发送时发生错误.
  5. linux之用xargs删除这个目录下面后缀为txt的文件(包括子目录)
  6. mongodb数组更新操作符$push
  7. vb 字符串截取_VB进阶之玩转文件读写
  8. C和指针 第五章 习题
  9. [Java]利用itextpdf将多个多页的PDF合并为一个
  10. 【Android测试】在AndroidStudio中进行单元测试
  11. 品致教您如何选择合适的电流探头
  12. Task.Result卡死问题
  13. 计算机网络共享名称乱码,电脑wifi名称显示乱码怎么回事
  14. 理解 word2vec
  15. 端游与页游之战:微端网游突出重围
  16. 贷款市场报价利率(LPR)与贷款基准利率介绍
  17. 【UCOSii源码解析】任务间通讯与同步
  18. 解义盼:比特大陆大规模裁员,资本的寒冬到了?
  19. 【Dart 教程系列第 28 篇】Dart中的 Map 和实体类的相互转换
  20. ELF文件——动态链接

热门文章

  1. html5的一天,HTML5微电影制作 - 小猫一天的生活
  2. oracle自动分区maxvalue,对Maxvalue上限范围分区进行spilt操作
  3. java连接SqlServer2000类,比较完整,比较强大
  4. 在Web.Config中指定页面的基类
  5. GDAL库进度信息编写示例
  6. c# u盘使用记录_金属U盘定制加工 各种款式金属U盘加工
  7. ArcGIS API for JavaScript——绘制工具(Draw)
  8. 移动设备响应式网站之CSS媒体查询
  9. 游戏接腾讯平台的一些锁事
  10. 非阻塞模式WinSock编程入门(Socket关联窗口消息机制)