网站域名怎么写,徐州万网网站建设,wordpress获取文章时间,施工企业负责人Docker Swarm管理
前置知识点
Docker Swarm 是 Docker 公司 2014年出品的基于 Docker 的集群管理调度工具#xff0c;能够将多台主机构建成一个Docker集群#xff0c;并结合Overlay网络实现容器调度的互访 用户可以只通过 Swarm API 来管理多个主机上的 Docker Swarm 群集包…Docker Swarm管理
前置知识点
Docker Swarm 是 Docker 公司 2014年出品的基于 Docker 的集群管理调度工具能够将多台主机构建成一个Docker集群并结合Overlay网络实现容器调度的互访 用户可以只通过 Swarm API 来管理多个主机上的 Docker Swarm 群集包含 Manager 和 Worker 两类工作节点基于Docker Engine 可以部署任何类型的工作节点 Swarm集群中的任意节点都可以成为管理节点管理节点最好只作为管理不运行容器 在Swarm集群中部署镜像创建一个服务时一些达到应用上下文环境运行环境中需要各种服务配合工作这样服务通常称为微服务 创建服务时可以知道要使用的容器镜像及容器中要执行的命令同时还可以定义以下选项
群集要对外服务的端口在集群中用于服务之间相连的overlay网络更新滚动策略群集总运行的副本数量
Docker Swarm基本特性
去中心化设计声明式服务模型协调预期状态与实际状态的一致性多主机网络负载均衡安全策略滚动更新
Docker Swarm架构图
Docker Swarm提供了基本的集群能力能够使多个Docker Engine组合成一个group提供多容器服务Swarm使用标准的Docker API
部署Docker Swarm集群
类型IPmanager192.168.10.101worker192.168.10.102worker192.168.10.103
1.导入镜像 2.创建Docker Swarm集群
docker swarm init --advertise-addr 192.168.10.101
//在哪台主机创建创建节点默认为manager
[rootmanager images]# docker swarm init --advertise-addr 192.168.10.101
Swarm initialized: current node (behn4l7i4iffgp34xjzvq4bt8) is now a manager.To add a worker to this swarm, run the following command:docker swarm join --token SWMTKN-1-5d065cb6qzcd51gfzt0g67ya7hl0z6cucjlhlupcg8j2fvsaeq-4vzpxsr51kia1n8ql0h9ktmzx 192.168.10.101:2377 //其他主机运行后可以加入该集群To add a manager to this swarm, run docker swarm join-token manager and follow the instructions.Docker Swarm 节点管理
将docker节点的状态改为drain docker node update --availability drain manager active可以调度容器 pause维持原有容器的运行不再接收新的容器 drain将原有的容器进行迁移不再接收新的容器
为节点增加标签需要以键值对的形式添加以下为两种方法 docker node update --label-add groupg2 worker01 docker service create --name mynginx --constraint node.labels.groupg2 hub.atomgit.com/amd64/nginx:1.25.2-perl
节点提权/降权 docker node promote worker01 worker02 docker node demote worker01 worker02
退出集群 docker swarm leave --force
Docker Swarm 服务管理
创建服务 docker service create -p 80:80 --replicas 2 --name web nginx 查看日志 docker service logs -f web 查看当前已经部署启动的全部应用服务 docker service ls 可以查询指定服务的详细信息 docker service ps web 显示服务详细信息 以 JSON 格式显示方法 Web 服务的详细信息 docker service inspect web 以易于阅读方式显示 Web 服务的详细信息 docker service inspect --pretty web
服务的扩容/缩容 docker service scale web3 //将前面已经部署的 2 个副本的 Web 服务扩容到 3 个副本 docker service scale web1 //缩容就是设置的副本数小于当前副本数即可
删除服务 docker service rm web
滚动更新即不需要关闭服务的更新–update-delay是指更新间隔 docker service create --replicas 3 --name redis --update-delay 10s redis:3.0.6 更新已经部署服务所在容器中使用的镜像版本 docker service update --image redis:3.0.7 redis
添加自定义overlay网络 docker network create --driver overlay my-network docker service create --replicas 3 --network my-network --name myweb hub.atomgit.com/amd64/nginx:1.25.2-perl 如果 Swarm 集群中其他节点上的 Docker 容器也使用 my-network 网络那么处于该 Overlay 网络中的所有容器之间都可以进行通信
数据卷的创建与应用 创建数据卷 docker volume create product-kgc 将nginx容器连接到数据卷 docker service create --mount typevolume,srcproduct-kgc,dst/usr/share/nginx/html --replicas 1 --name kgc-web-01 nginx
查看数据卷 docker volume inspect product-kgc
到worker01中查看数据是否同步
[rootworker01 ~]# cd /var/lib/docker/volumes/product-kgc/_data/
[rootworker01 _data]# mkdir test01 test02
[rootworker01 _data]# docker ps
[rootworker01 _data]# docker exec -it 8875962fb67b bash
root8875962fb67b:/# ls /usr/share/nginx/html/