Docker基础<13>---Docker三剑客之Docker Compose(自动化管理容器)

Docker Compose 将所管理的容器分为三层,工程(project),服务(service)以及容器(contaienr)
Docker Compose 运行的目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程。
若无特殊指定工程名即为当前目标名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖
一个服务当中可包括多个容器实例,Docker Compose并没有解决负载均衡的问题,因此需要借助其他工具实现服务发现及负载均衡。
Docker Compose是一个用来创建和运行多容器应用的工具
使用Compose首先需要编写Compose文件来描述多个容器服务以及之间的关联,然后通过命令根据配置启动所有的容器。
Dockerfile可以定义一个容器,而一个Compose的模板文件(YAML格式)可以定义一个包含多个相互关联容器的应用
Compose项目使用python编写,基于后面的实验中我们将学习的Docker API实现

docker compose中有两个重要的概念:
==服务(service):==一个应用的容器,实际上可以包含若干运行相同镜像的容器实例。(像负载均衡群)
==工程(project):==有一组关联的应用容器组成的一个完整的业务单元,在Docker-Compose.yml文件中定义。

一、安装docker-compose(1.18.0+)
官方文件:
https://docs.docker.com/compose/install/

[root@server1 harbor]# curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   617  100   617    0     0    407      0  0:00:01  0:00:01 --:--:--   407
100 15.4M  100 15.4M    0     0  13533      0  0:19:53  0:19:53 --:--:-- 20181
[root@server1 harbor]# chmod +x /usr/local/bin/docker-compose
[root@server1 harbor]# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
[root@server1 harbor]# docker-compose --version
docker-compose version 1.24.0, build 0aa59064

eval $(docker-machine -v)		#释放之前连接的容器

二、docker-compose.yml书写(做一个负载均衡集群)
官网书写规范:
https://docs.docker.com/compose/env-file/

[root@server1 compose]# vim docker-compose.yml
[root@server1 compose]# mkdir web1
[root@server1 compose]# mkdir web2
[root@server1 compose]# mkdir haproxy
[root@server1 compose]# cd haproxy/
[root@server1 haproxy]# yum install -y haproxy
[root@server1 haproxy]# cp /etc/haproxy/haproxy.cfg .		#更改自带的配置文件
[root@server1 haproxy]# vim haproxy.cfg 			#更改
[root@server1 compose]# docker-compose up			#创建容器并运行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@server1 compose]# echo web1 > web1/index.html		#添加发布页面
[root@server1 compose]# echo web2 > web2/index.html
[root@server1 compose]# docker-compose start			#开启容器
Starting web1    ... done
Starting web2    ... done
Starting haproxy ... done
[root@server1 compose]# docker-compose ls			#查看管理容器

在这里插入图片描述
在这里插入图片描述

2、设置公共挂载点webdata

[root@server1 compose]# docker-compose up -d			#创建容器并运行打入后台
[root@server1 compose]# docker-compose logs			#查看日志

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值