Docker-Compose服务编排

Docker-Compose服务编排

	docker-compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,可以使用YAML文件来配置应用程序的服务。然后,使用单个命令,您可以从配置中创建并启动所有服务。

1:使用Compose 基本上分为三步过程:

1:Dockerfile 定义应用的运行环境
2:docker-compose.yml 定义组成应用的各服务
3:docker-compose up 启动整个应用

2:Docker Compose 工作原理图

img/docker-compose-1.png

Compose中几个重要的概念:
任务(task):一个容器被称为一个任务,任务拥有独一无二的ID,在同一个服务中的多个任务序号依次递增。
服务(serveice):某个相同应用镜像的容器副本集合,一个服务可以横向拓展为多个容器实例。
服务栈(stack):由多个服务组成,相互配合完成特定业务,如web应用服务,数据库服务共同构成web服务栈,一般由一个docker-compose.yml文件定义。compose的默认管理对象是服务栈,通过子命令对栈中的多个服务进行便捷的生命周期管理。

Compose项目有python编写,实际上调用了 Docker 服务提供的 API 来对容器进行管理。因此,只要所操作的平台支持 Docker API,就可以在其上利用 Compose 来进行编排管理。

Docker-Compose安装
1、使用二进制安装
wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 && mv docker-compose-linux-x86_64 docker-compose && chmod +x docker-compose && mv docker-compose /usr/local/bin
# 查看版本
[root@virtual_host ~]# docker-compose version
Docker Compose version v2.2.3


创建Web负载均衡服务栈
[root@virtual_host web]# docker-compose up -d
[+] Running 4/4
 ⠿ haproxy Pulled                                                                                                                     36.0s
   ⠿ e62d08fa1eb1 Pull complete                                                                                                       12.2s
   ⠿ b5638da587ee Pull complete                                                                                                       12.5s
   ⠿ 3553620c41aa Pull complete                                                                                                       12.5s
[+] Running 5/5
 ⠿ Network web_default      Created                                                                                                    0.0s
 ⠿ Container web-webc-1     Started                                                                                                    1.2s
 ⠿ Container web-weba-1     Started                                                                                                    0.9s
 ⠿ Container web-webb-1     Started                                                                                                    1.1s
 ⠿ Container web-haproxy-1  Started                                                                                                    1.3s
[root@virtual_host web]# docker-compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
web-haproxy-1       "/docker-entrypoint.…"   haproxy             running             0.0.0.0:70->70/tcp, 0.0.0.0:80->80/tcp, :::70->70/tcp, :::80->80/tcp
web-weba-1          "/bin/sh -c 'python …"   weba                running             80/tcp
web-webb-1          "/bin/sh -c 'python …"   webb                running             80/tcp
web-webc-1          "/bin/sh -c 'python …"   webc                running             80/tcp![web1.png](https://i.postimg.cc/sgP6w5Mb/web1.png)](https://postimg.cc/cvHBJgMc)

img/web1.png

img/web2.png

img/web3.png

3:Docker-Compose常用命令

命令	                            说明
docker-compose build	    建立或者重建服务
docker-compose bundle	    创建一个可分发的配置包,包括整个服务栈的所有数据
docker-compose config	    验证和查看Compose文件
docker-compose create      创建服务
docker-compose down	         停止和删除容器,网络,镜像和卷
docker-compose events	    从容器接收实时事件
docker-compose exec	         登录正在运行的容器执行命令
docker-compose images        镜像列表
docker-compose kill			杀掉容器
docker-compose logs			查看容器的输出
docker-compose pause		暂停容器
docker-compose port			为端口绑定打印公共端口
docker-compose ps			容器列表
docker-compose pull			下载服务镜像
docker-compose push			上传服务镜像
docker-compose restart		重启容器
docker-compose rm			删除停止的容器
docker-compose run			运行一次性的命令
docker-compose scale		设置服务的容器数量
docker-compose start		启动服务
docker-compose stop			停止服务
docker-compose top			显示运行过程
docker-compose unpause		暂停服务
docker-compose up			创建并启动容器
posted @ 2022-02-04 12:49  Layzer  阅读(64)  评论(0编辑  收藏  举报