部署docker  swarm

docker  swarm用于部署docker容器的集群。类似一个小型的k8s

部署docker  swarm

docker  swarm集群manager节点至少大于1个,否则集群就会崩溃。这里部署3个manager节点+1个work节点

#先在每台节点上部署好docker
#初始化docker swarm集群
[root@xlys128 harbor]# docker swarm init --advertise-addr=192.168.198.128
Swarm initialized: current node (y8q2r444xc67d80crwug0zez8) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-2u9a7wxs4e4h9mkiug0jg30ucg7kpqq5067gb0pscrhwwa5f1s-9iktk7w73k848sc2d25jaufwa 192.168.198.128:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

#获取manager节点加入命令
[root@xlys128 harbor]# docker swarm join-token manager
To add a manager to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-2u9a7wxs4e4h9mkiug0jg30ucg7kpqq5067gb0pscrhwwa5f1s-c29tzrd4m91t2cr62z34vl2fa 192.168.198.128:2377

#其他节点加入集群,作为manager节点
[root@xlys132 ~]# docker swarm join --token SWMTKN-1-2u9a7wxs4e4h9mkiug0jg30ucg7kpqq5067gb0pscrhwwa5f1s-c29tzrd4m91t2cr62z34vl2fa 192.168.198.128:2377
This node joined a swarm as a manager.

#其他节点加入集群,作为manager节点
[root@xlys133 ~]#  docker swarm join --token SWMTKN-1-2u9a7wxs4e4h9mkiug0jg30ucg7kpqq5067gb0pscrhwwa5f1s-c29tzrd4m91t2cr62z34vl2fa 192.168.198.128:2377
This node joined a swarm as a manager.

#其他节点加入集群,作为work节点
[root@xlys134 ~]# docker swarm join --token SWMTKN-1-2u9a7wxs4e4h9mkiug0jg30ucg7kpqq5067gb0pscrhwwa5f1s-9iktk7w73k848sc2d25jaufwa 192.168.198.128:2377
This node joined a swarm as a worker.

#查询集群状态
[root@xlys133 ~]# docker node ls
ID                            HOSTNAME   STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
y8q2r444xc67d80crwug0zez8     xlys128    Ready     Active         Leader           20.10.5
o2qajnr7mvtztlqdjveywrznw     xlys132    Ready     Active         Reachable        20.10.9
lws6zolfku69dufmnwer2u3w1 *   xlys133    Ready     Active         Reachable        20.10.9
n8vri5j409zriiltk3jucvfme     xlys134    Ready     Active                          20.10.9

部署好docker swarm就可以在上面使用docker  service 发布服务了

[root@xlys128 harbor]# docker service -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker service COMMAND

Manage services

Commands:
  create      Create a new service
  inspect     Display detailed information on one or more services
  logs        Fetch the logs of a service or task
  ls          List services
  ps          List the tasks of one or more services
  rm          Remove one or more services
  rollback    Revert changes to a service's configuration
  scale       Scale one or multiple replicated services
  update      Update a service

Run 'docker service COMMAND --help' for more information on a command.

创建服务,可以指定副本数,支持弹性扩缩容等

这里注意:本地镜像必须是从本地仓库拉取,不支持从本地node节点读取镜像,而且需要添加参数--with-registry-auth,否则创建容器失败

[root@xlys128 ~]# docker service create -p 61:80 --with-registry-auth --name Nginx --replicas 3  --mount type=bind,target=/usr/local/haproxy/conf,source=/usr/local/src/dockerfile/haproxy/conf 192.168.198.134:8080/xmyd/nginx:1.23.1
jwbqzoan7zksesdq2z7nbvk5z
overall progress: 3 out of 3 tasks 
1/3: running   [==================================================>] 
2/3: running   [==================================================>] 
3/3: running   [==================================================>] 
verify: Service converged

[root@xlys128 ~]# docker service ls
ID             NAME      MODE         REPLICAS   IMAGE                                      PORTS
jwbqzoan7zks   Nginx     replicated   3/3        192.168.198.134:8080/xmyd/nginx:1.23.1     *:61->80/tcp


[root@xlys128 ~]# docker service ps Nginx
ID             NAME      IMAGE                                    NODE      DESIRED STATE   CURRENT STATE           ERROR     PORTS
eb5sjcwppddc   Nginx.1   192.168.198.134:8080/xmyd/nginx:1.23.1   xlys132   Running         Running 3 minutes ago             
s8102z5op7vv   Nginx.2   192.168.198.134:8080/xmyd/nginx:1.23.1   xlys128   Running         Running 4 minutes ago             
es8q65nhi00g   Nginx.3   192.168.198.134:8080/xmyd/nginx:1.23.1   xlys134   Running         Running 4 minutes ago      

 

posted @   IT运维成长笔记  阅读(147)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示