docker 集群部署

 

172.17.48.194(主)
172.17.48.195(从)
172.17.48.196(从)
172.17.48.197(从)
 
 
1.初始化一个集群的master服务器
 
docker swarm init --advertise-addr 172.17.48.194
 
[root@localhost ~]# docker swarm init --advertise-addr 172.17.48.194
Swarm initialized: current node (j20c5mjl4iwa32rosb9ny43fm) is now a manager.
 
To add a worker to this swarm, run the following command:
 
    docker swarm join --token SWMTKN-1-667gxbotuejy9vblhk29qogybx4i460f8pc0pui4q0igmmkr57-aj69k8srd3kp8t4740aktc9tx 172.17.48.194:2377
 
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

 

 
 
2.从服务器加入,执行下面的命令,注意需要将主服务器的2377端口打开
docker swarm join --token SWMTKN-1-667gxbotuejy9vblhk29qogybx4i460f8pc0pui4q0igmmkr57-aj69k8srd3kp8t4740aktc9tx 172.17.48.194:2377
 
加入成功后,docker node ls 查看集群的信息
 
docker swarm常用命令
Docker swarm init:初始化一个集群
Docker swarm join:加入一个集群
Docker node ls:查看集群的信息
Docker service create:创建一个集群服务
Docker service ls:查看集群的服务
Docker service rm:删除一个集群服务
 
3.搭建docker私服库
 
拉取registry镜像
docker pull registry
 
创建容器
docker run -p 5000:5000 -v /opt/data/registry:/var/lib/registry --restart=always --name my_registry -d registry:latest
 
 
这样一个docker私服库就已经搭建好了

 

 

 
容器启动后,打开浏览器访问:http://172.17.48.194:5000/v2/ 出现下面这种情况说明运行正常

 

 

 
上传自己代码,生成镜像
 
docker build -t aliyunhelper:1.0 . --network=host
 

 

 

 
推送自己的镜像到私有库
 
先要打标签,否则可能出现以下错误

 

 

 
解决办法:
docker tag aliyunhelper:1.0 172.17.48.194:5000/aliyunhelper:1.0
 
如果遇到这个问题
 

 

 

 
解决办法如下:
 
vi /etc/docker/daemon.json
添加 {"insecure-registries": ["http://172.17.48.194:5000"]}

 

 

保存
systemctl daemon-reload
systemctl restart docker
 
 
 
再次尝试push
docker push 172.17.48.194:5000/aliyunhelper:1.0
成功如下

 

 

 
上传成功后,curl http://172.17.48.194:5000/v2/_catalog 可以查询私服库信息,如下图所示
 

 

 

 
 

 

 

 
4.创建一个集群服务
用之前从docker私服库中拉取的镜像,在主机上输入:
 
docker service create --replicas 4 -p 8000:80 --name mySwarm1 172.17.48.194:5000/aliyunhelper:1.0
 
这样就创建了一个docker swarm集群服务,这里的replicas是部署几台服务器,swarm集群会先从本地找有没有对应的镜像,如果有则直接run该镜像,如果没有则从docker私服库上拉取,然后一个服务器一个服务器run镜像生成容器
 
 

 

 

 

 


 

 
打开浏览器访问:
172.17.48.194:8000
172.17.48.195:8000
172.17.48.196:8000
172.17.48.197:8000
 
posted @ 2020-08-25 17:35  王立新  阅读(2268)  评论(0编辑  收藏  举报