摘要

本文主要介绍dockercompose.yml文件的基础格式,以及相关的基础配置的设置信息。

概述

docker-compose文件的编写主要是基于一种配置文件格式yml文件,基本的yml文件格式主要可以参照YAML 入门教程,docker-compose的关键字主要参考文献The Compose Specification。

1.yml文件格式说明

这一部分的yml文件格式主要参考YAML 入门教程,在docker-compose.yml文件中会使用到的基础格式如下。

  • 基本语法

    *文件格式: .yml
    使用缩进表示层级关系
    缩进不允许使用tab,只允许空格
    缩进空格数不重要,相同层的元素左对齐即可
    注释符号:#

  • 数据类型
    – 对象:键值对

    key : value

    – 数组:按次序排列的值

    Languages:
    \quad - Ruby
    \quad - Perl
    \quad - Python

    – 特殊符号

    \quad & 建立锚点
    \quad * 引用锚点
    \quad << 合并当前数据

特殊符号的使用具体见文献YAML 入门教程。

2.docker-compose.yml文件相关说明

参考文献The Compose Specification

  • docker-compose.yml文件格式说明

docker-compose.yml文件主要包括指定docker-compose的模式应用版本(version),设计基本的容器配置服务(services),以及设置容器之间通信的网络模式,基本的YAML文件书写格式如下所示:

version: 指定版本号
services:容器1:容器设置参数容器2:容器设置参数
networks:网络名:网络参数设置

简单的docker-compose.yml例子如下

version: 3.8
services:web:build: .ports:- "5000:5000"networks:- eth0
networks:eth0:name: net1
  • 重要的关键字说明

– version: 用于设置版本号
\quad其版本号的确定主要参考docker-compose文档Compose file versions and upgrading,每一个版本号都给定了相关的Docker-Engine的兼容性说明,具体如下图所示。

\qquad值得注意的是,在docker-compose.yml文件中的最大版本的确定实际上是跟主机上安装的Docker-Engine的版本具有直接关系。在使用时,一定要确定自己主机安装的Docker-Engine的版本。
services: 容器实体部分
services部分主要是用于确定集群中每个容器执行的行为,实际上services关于容器设置方面其实和Dockerfile文件具有一定的相关性,部分Dockerfile中设置容器的参数也可以放在services字段中进行设置。

build: 指定构造镜像上下文路径
image: 指定容器运行的镜像
endpoint_mode: 访问集群服务的方式
cap_add(添加),cap_drop(删除)容器拥有的宿主机的内核功能。
links: 解决容器连接问题
env_file: 从文件中读取环境变量
entropoint: 覆盖Dockerfile中的ENTROPOINT
ports: 建立主机端口到容器端口的映射
command: 覆盖容器启动的默认命令
container_name: 指定容器名称
deploy: 容器部署的配置设置
tty: true 分配一个伪终端
volumes: 将主机的数据或者文件挂载到容器里面

– networks: 容器之间通信的网络部分

networks是主要设置容器之间通信所基于的网络,关于网络的具体配置参数可以参考文献Networking in Compose,这里仅仅给出一些主要的配置参数。

name: 网络名
network_mode: 设置网络模型
driver: 指定哪种驱动将用于这个网络
enable_ipv6: 启动ipv6
ipam(IP Address Management): IP地址管理

总结

这篇文章主要讲述了docker-compose.yml文件配置的基础格式和主要参数的配置信息。

Docker容器管理之Dockercompose.yml文件格式说明相关推荐

  1. Docker安装ActiveMQ(docker-compose.yml)

    Docker安装ActiveMQ(docker-compose.yml) 前置条件 请先安装Docker 创建docker-compose.yml文件 version: '2' services:#a ...

  2. Docker安装Mysql(docker-compose.yml)

    Docker安装Mysql(docker-compose.yml) 前置条件 请先安装Docker 创建docker-compose.yml文件 version: '2' services:db:im ...

  3. Docker安装Kafka(docker-compose.yml)

    Docker安装Kafka(docker-compose.yml) 前置条件 请先安装Docker 创建docker-compose.yml文件 version: '2' services:zooke ...

  4. Docker安装Redis(docker-compose.yml)

    Docker安装RabbitMQ(docker-compose.yml) 前置条件 请先安装Docker 创建docker-compose.yml文件 version: '2' services:#r ...

  5. Docker安装RabbitMQ(docker-compose.yml)

    Docker安装RabbitMQ(docker-compose.yml) 前置条件 请先安装Docker 创建docker-compose.yml文件 version: '2' services:#r ...

  6. Docker Compose学习之docker-compose.yml编写规则 及 实战案例

    [Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...

  7. docker容器管理及网络管理

    防火墙规则-- INPUT 主要用于主机防火墙,设置规则屏蔽处理进入本机的数据包 示例:禁止10.180.100.141这个机器访问我本机的web服务 iptables -t filter -A IN ...

  8. Docker容器管理总结

    Docker容器管理总结 一.Docker容器理解 1.Docker的核心概念 2.容器的运行状态 二.Dockerfile理解 三.容器使用及操作 1.进入容器空间内 2.后台运行容器 3.前台运行 ...

  9. 美团点评Docker容器管理平台

    本文是郑坤根据第14期美团点评技术沙龙"你不知道的美团云"演讲内容整理而成,已发表在<程序员>杂志2017年1月刊. 美团点评容器平台简介 本文介绍美团点评的Docke ...

最新文章

  1. 浙江科技学院计算机专业录取分数线,浙江科技学院2017年艺术类本科专业录取分数线...
  2. python序列类型-python序列类型有哪些
  3. 【CMake】Android Studio 中使用 CMake 编译单个 C++ 源文件 ( 常用的 CMake 命令解析 )
  4. Linux的实际操作:Linux的分区
  5. 2015年《大数据》高被引论文Top10文章No.10——我国大数据交易的主要问题及建议...
  6. Java的垃圾回机机制(见过讲得最清楚的)
  7. 轨迹规划实现 tfaar_example2.7
  8. Oracle字符集的设置
  9. 关于IE浏览器以及Firefox下冒泡事件的响应层级
  10. C语言之共享内存shm_open(二十五)
  11. 2021年6月安全生产月 全国安全知识网络竞赛 链工宝“测测你的安全力”最终最全题库 四百多道不重复真题、含答案 辛苦收集整理,供收藏学习
  12. 不同操作系统查询硬盘序列号的方法
  13. 为什么qq相册显示服务器数据错误,玩qq空间常遇到的问题及解决办法_qq空间
  14. c语言网络时间校准,c语言如何建时间校准来和电脑一致?
  15. 如何实现网页中按钮的自动点击?
  16. java 重量单位换算_JAVA中数据存储方式以及单位转换
  17. Word文件怎么在方框里面打对勾
  18. This Python interpreter is in a conda environment问题解决
  19. echarts柱状图图例不显示的问题
  20. 网络基础---广域网技术

热门文章

  1. openstack装配置 Neutron( 控制节点
  2. 查看达梦数据库表中的数据为乱码解决
  3. Axure 9 - 中继器使用
  4. linux桌面m3,迈乐A100 如何安装linux-ubuntu-lxde桌面-迈乐盒子-奇珀网
  5. Ceph报错( ceph config set mon auth_allow_insecure_global_id_reclaim false)问题处理
  6. kubernetes 1.14安装部署dashboard
  7. 2020最流行的React组件库推荐
  8. 有限元流体模拟matlab仿真
  9. 【Qualcomm高通音频】如何使用QXDM、QCAT音频数据抓取
  10. C++题目:日元硬币