管理Docker Swarm 集群
1 .节点状态变更管理
[root@manager ~]# docker node update --availability drain manager
Manager
[root@manager ~]# docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
3ugwexq8el6e9ouj1iyguxtnq *   manager             Ready               Drain               Reachable           19.03.1
6p4qed1dyurk81nuxs2b3s72p     worker01            Ready               Active              Leader              19.03.1
zegtd8sspiw0lsctzc98cc0g4     worker02            Ready               Active              Reachable           19.03.1
此时manager 只能时管理节点,不能指派任务

成都创新互联是一家专注于成都网站制作、网站设计、外贸网站建设与策划设计,白山网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:白山等地区。白山做网站价格咨询:13518219792
2 . 添加标签元数据
[root@manager ~]# docker node update --label-add GM-IDC-01 worker01
[root@manager ~]# docker node inspect worker01
"CreatedAt": "2019-08-22T07:09:10.403549405Z",
"UpdatedAt": "2019-08-22T08:16:14.952425008Z",
"Spec": {
"Labels": {
"GM-IDC-01": ""
…………………..省略了部分
3 . 节点的提权/降权
例如:将worker01,worker02都升级为管理节点
[root@manager ~]# docker node promote worker01 worker02
Node 6p4qed1dyurk81nuxs2b3s72p is already a manager.
Node zegtd8sspiw0lsctzc98cc0g4 is already a manager.
例如:将worker01,worker02都降权为普通节点
[root@manager ~]# docker node demote worker01 worker02
Manager worker01 demoted in the swarm.
Manager worker02 demoted in the swarm.
4 .退出集群
管理节点退出
[root@manager ~]# docker swarm leave –force
普通节点退出
[root@worker01 ~]# docker swarm leave
Docker Swarm 服务管理
示例:从Docker镜像httpd 创建一个名称为web 的服务,指定副本为2.
[root@manager ~]# docker pull httpd     ##下载镜像
注意:httpd 服务要注释掉    'ServerName'
[root@manager ~]# docker service create --replicas 2 --name web httpd
overall progress: 2 out of 2 tasks
1/2: running
2/2: running
verify: Service converged
[root@manager ~]# docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
edfomyazxto9        web                 replicated          2/2                 httpd:latest  
显示服务的详细信息 (省略了部分)
[root@manager ~]# docker service inspect web
[
{
"ID": "edfomyazxto9f7t7kbau2h453",
"Version": {
"Index": 1524
},
"CreatedAt": "2019-08-22T09:38:04.259651137Z",
"UpdatedAt": "2019-08-22T09:38:04.259651137Z",
"Spec": {
"Name": "web",
"Labels": {},
"TaskTemplate": {
"ContainerSpec": {
"Image": "httpd:latest@sha256:98caed3e3a90ed9db8d25dcbb98eebe0ce56358a9dbbc940d7eb66a8e2b88252",
……………………………………………
删除服务
[root@manager ~]# docker service rm web
2.重新加入群集,部署nginx 的web
特别注意::每一台节点上都要有nginx 的镜像,才能部署。
9  docker load --input mynginx      ##载入镜像,每一台上都做
10  docker images
11  docker tag 848ea241199d nginx
12  docker images
13  clear
14  docker service create --replicas 2 --name web nginx  ##指定副本为2
15  docker service logs -f web
16  docker service ls
17  docker service ps web
[root@manager ~]# docker service ps web
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
pb3hw77bm022        web.1               nginx:latest        manager             Running             Running 12 minutes ago               
9f6u648z18gk        web.2               nginx:latest        worker01            Running             Running 12 minutes ago               
18  docker service inspect web
19  docker service inspect --pretty web  ##查看信息
……………………………….
ContainerSpec:
Image:     nginx:latest
Init:      false
Resources:
Endpoint Mode:  vip
服务的扩容/缩容
20  docker service scale web=3   ##服务扩容
21  docker service ps web
[root@manager ~]# docker service ps web
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
pb3hw77bm022        web.1               nginx:latest        manager             Running             Running 15 minutes ago               
9f6u648z18gk        web.2               nginx:latest        worker01            Running             Running 15 minutes ago               
an6nc2lyhet5        web.3               nginx:latest        worker02            Running             Running 10 minutes ago  
服务的缩容
[root@manager ~]# docker service scale web=1
[root@manager ~]# docker service ps web
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
pb3hw77bm022        web.1               nginx:latest        manager             Running             Running 17 minutes ago 
添加Overlay网络
在Swarm 集群中。添加Overlay网络时,可以连接一个或多个服务。那么处于该网络中的所有容器之间都可以进行通信!!
1.管理节点创建
[root@manager ~]# docker network create --driver overlay my-network
0c5k9xirc0pp1a9qqgoksvyf5
2.创建服务,使用my-network 网络
[root@manager ~]# docker service create --replicas 3 --network my-network --name myweb nginx
mm3gtfocd8dm63a2d3b4uivjq
overall progress: 3 out of 3 tasks
1/3: running
2/3: running
3/3: running
verify: Service converged
数据卷的创建与应用
创建数据卷
[root@manager _data]# docker volume create product-kgc
product-kgc
查看创建的数据卷
[root@manager _data]# docker volume ls
DRIVER              VOLUME NAME
local               product-kgc
创建本机上的目录
[root@manager _data]# mkdir -p /usr/share/nginx/html
创建容器
[root@manager _data]# docker service create --mount type=volume,src=product-kgc,dst=/usr/share/nginx/html --replicas 1 --name kgc-web-01 nginx  ##镜像的存在
查看创建的容器
ID                  NAME                IMAGE               NODE                DESIRED STATE       CURRENT STATE            ERROR               PORTS
bbqd215gwlog        kgc-web-01.1        nginx:latest        manager             Running             Running 11 minutes ago
查看数据卷的详细信息
[root@manager ~]# docker volume inspect product-kgc
[
{
"CreatedAt": "2019-08-25T09:25:30+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/product-kgc/_data",
"Name": "product-kgc",
"Options": {},
"Scope": "local"
}
]
查看数据是否同步
[root@manager ~]# cd /var/lib/docker/volumes/product-kgc/_data/
[root@manager ~]# mkdir test01 test02
[root@manager ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
32f426b2a047        nginx:latest        "/run.sh"           16 minutes ago      Up 16 minutes       80/tcp, 443/tcp     kgc-web-01.1.bbqd215gwlog1v4a5j2ck2nvq
进入容器,查看   ##在本地目录下创建的目录,容器中也存在
[root@manager _data]# docker exec -it 32f426b2a047 bash
[root@32f426b2a047 nginx]# ls /usr/share/nginx/html/
test01  test02
附加::第二种方式创建数据卷,可以采用 bind 类型
[root@manager ~]# docker service create --replicas 3 --mount type=bind,src=/var/vhost/www/aa,dst=/usr/share/nginx/html --name kgc-web-02 nginx
d6c5iw9gxo980embkb7aas1ky
overall progress: 3 out of 3 tasks
1/3: running
2/3: running
3/3: running
verify: Service converged
[root@manager ~]# touch /var/vhost/www/aa/abcd
[root@manager ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
807ff87f1b2b        nginx:latest        "/run.sh"           40 minutes ago      Up 40 minutes       80/tcp, 443/tcp     kgc-web-02.2.pkwe5ql9oaf7994iv5qt44cke
32f426b2a047        nginx:latest        "/run.sh"           About an hour ago   Up About an hour    80/tcp, 443/tcp     kgc-web-01.1.bbqd215gwlog1v4a5j2ck2nvq
4f71487e7989        nginx:latest        "/run.sh"           About an hour ago   Created                                 myweb.2.j771vgcjzw0t3cne3fauz3ydf
d4c2cf0b0953        nginx:latest        "/run.sh"           About an hour ago   Created                                 myweb.1.hayst7oh5ck442xl9g51e54xl
[root@manager ~]# docker exec -it 807ff87f1b2b bash
[root@807ff87f1b2b nginx]# ls /usr/share/nginx/html/
abcd
验证成功!
网站名称:管理DockerSwarm集群
URL地址:http://www.cqwzjz.cn/article/ihpddo.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 