Docker核心技术之Docker Compose
一、Docker Compose 简介
Docker Compose是什么?
Docker Compose是一个能一次性定义和管理多个Docker容器的工具。
详细地说:
Compose中定义和启动的每一个容器都相当于一个服务(service)
Compose中能定义和启动多个服务,且它们之间通常具有协同关系
管理方式:
使用YAML文件来配置我们应用程序的服务。
使用单个命令(docker-compose up),就可以创建并启动配置文件中配置的所有服务。
Docker Compose 工作原理
Docker Compose安装
Docker for Mac与Docker for Windows自带docker-compose
Linux下需要单独安装:
第一步:sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
第二步:sudo chmod +x /usr/local/bin/docker-compose 终端中使用docker-compose --version查看安装的版本 这里示例安装版本是1.21.2,很可能您看到这里时,已经出现更新的版本,因此建议换成最新版本。查看最新版本。
其他安装方法查看
Docker Compose CLI
利用docker-compose --help查看或者查看官方文档
对比后会发现:Docker Compose CLI的很多命令的功能和Docker Client CLI是相似的。最主要的区别就是前者能一次性运行管理多个容器,后者只能一次管理一个。
二、了解 Docker Compose File
Docker Compose File版本
Docker Compose File 有多个版本,基本是向后兼容的,但也有极个别配置项高版本中没有。
在docker-compose.yml一开始就需要利用version关键词标明当前file使用的版本
Docker Compose File TOP配置参数概览
Docker Compose File 顶级配置项:
version:指定Docker Compose File版本号
services:定义多个服务并配置启动参数
volumes:声明或创建在多个服务中共同使用的数据卷对象
networks:定义在多个服务中共同使用的网络对象
configs:声明将在本服务中要使用的一些配置文件
secrets:声明将在本服务中要使用的一些秘钥、密码文件
x-***:自定义配置。主要用于复用相同的配置。
更多详细配置
Docker Compose File 参考示例
三、Docker Compose 应用
Docker Compose 案例一 小型web服务项目搭建
步骤:
搭建一个flask的小型web项目
根据项目环境,利用Dockerfile构建镜像
撰写docker-compose.yaml配置文件,启动项目
Docker Compose 案例二 单机环境ELK系统搭建(一)
ELK工作原理介绍
Docker Compose 案例二 单机环境ELK系统搭建(二)
步骤:
配置单机版的docker-compose.yaml文件(ELK镜像地址)
利用docker-compose up启动环境
Docker Compose 案例三 多主机环境ELK系统搭建(一)
Swarm 介绍
Docker Compose 案例三 多主机环境ELK系统搭建(二)
集群版Docker Compose工作原理
Docker Compose 案例三 多主机环境ELK系统搭建(三)
步骤
使用docker swarm配置多个docker node集群节点
配置集群版ELK的docker-compose.yaml文件
利用docker stack deploy部署集群版ELK环境
Docker核心技术之Docker Compose相关推荐
- 深入剖析docker核心技术(namespace、cgroups、union fs、网络)
深入剖析docker核心技术 前言 docker概述 为什么要用docker Namespace 概述 实现 操作方法 隔离性 常用操作 Cgroups 概述 实现 配额和度量 CPU 子系统 Lin ...
- 容器技术介绍之docker核心技术概述
容器简单来说是一种沙盒技术,将应用"装"进沙盒中,像集装箱一样,把应用封装起来,使得应用之间不会相互干扰,而放进沙盒中的应用也方便"搬家".本文基于docker ...
- Docker核心技术学习笔记
Docker核心技术 文章目录 Docker核心技术 一 .Docker简介 二.Docker安装 前提说明 Docker 的基本组成 安装 centos 7 安装docker 启动hello-wor ...
- 深入浅出Docker(一):Docker核心技术预览
[编者按]Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.Docker提供了一种 ...
- Docker(八):Docker Compose
Docker Compose Compose 简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具.通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务.然 ...
- Docker核心技术
整理自<Docker技术入门与实践>(杨保华 戴王剑 曹亚仑) - Docker核心技术一文. Docker是一种基于Linux Container(LXC)技术实现的容器虚拟化技术,现又 ...
- Docker(一):Docker核心技术预览
开始学习docker了,想写一篇docker技术介绍的纯理论文章,发现以下网站的文档写的特别好,就直接引用了,文章转载自: http://www.infoq.com/cn/DockerDeep htt ...
- Docker(四):Docker 三剑客之 Docker Compose
前两篇文章我们介绍了 Dockerfile 的使用Docker(二):Dockerfile 使用介绍,我们知道使用一个 Dockerfile 模板文件可以定义一个单独的应用容器,如果需要定义多个容器就 ...
- 文末送书啦!| Device Mapper,那些你不知道的Docker核心技术
戳蓝字"CSDN云计算"关注我们哦! 接触Docker 比较早的同学应该知道,Docker 在最开始只能在Ubuntu和Debian等少数的Linux 发行版上运行,并且在这些发行 ...
最新文章
- 时间复杂度与空间复杂度分析
- redis常用优化及持久化到硬盘
- 设计模式 - Strategy
- 关于路径搜索的算法, 可能用到
- 插入的数据不能时时查询到_数据库原理笔记
- python bottle部署g_python bottle框架(WEB开发、运维开发)教程 | linux系统运维
- 训练dnn_[预训练语言模型专题] MTDNN(KD) : 预训练、多任务、知识蒸馏的结合
- padding三个值含义
- 诗与远方:无题(三十九)
- centos 7 一键安装gitlab
- 2016蓝桥杯C++A:剪邮票(抓取法)
- 【孪生网络siamfc代码学习】
- 应广单片机 c语言,应广单片机 MINI-C编程指南.pdf
- Jpa 注解详解 映射详解 一对多 多对一
- 问答社区常见三维问题整理
- linux 设置创建用户设置密码
- 论文精读:MobileNetV2: Inverted Residuals and Linear Bottlenecks
- 完美解决Win10 X64非原装版系统打不开CHM文件
- MySQL学习笔记:过滤数据+数据过滤
- [力扣c语言实现]207. 课程表(拓扑排序)