docker三剑客之docker swarm(部署swarm监控、compose和stack对比、可视化容器管理工具 Portainer)
docker swarm简介
- Swarm是原生支持Docker集群管理的工具。
- Docker Swarm是一个为IT运维团队提供集群和调度能力的编排工具。
- Swarm可以把多个Docker主机组成的系统转换为单一的虚拟Docker主机,使得容器可以组成跨主机的子网网络。
创建swarm集群
初始化集群:
docker swarm init #生成了一个token
在其他docker节点上执行命令,节点作为一个worker会添加进swarm
docker swarm join --token SWMTKN-1-4owwqn5j0u0k1bqxgozn3p1glcvmo7yl33w700xswc2293eiw0-dn40jytlvqqpw5zo5udbdgbzg 172.25.10.1:2377
查看swarm集群节点
[root@server1 ~]# docker node ls
部署swarm监控
[root@server2 ~]# scp nginx.tar server3:
[root@server3 ~]# docker load -i nginx.tar
[root@server1 ~]# docker service create --name my_cluster --replicas 2 -p 80:80 nginx
server2 server3 80端口不能被占用 宿主机:容器
[root@server1 harbor]# netstat -antlp | grep :80
tcp6 0 0 :::80 :::* LISTEN 3321/dockerd
[root@server2 ~]# netstat -antlp | grep :80
tcp6 0 0 :::80 :::* LISTEN 24924/dockerd
[root@server3 ~]# netstat -antlp | grep :80
tcp6 0 0 :::80 :::* LISTEN 14773/dockerd
[root@server2 ~]# echo server2 > index.html
[root@server2 ~]# docker ps
[root@server2 ~]# docker cp index.html 6386513fc87f:/usr/share/nginx/html
[root@server3 ~]# echo server3 > index.html
[root@server3 ~]# docker cp index.html ecb82d7971bc:/usr/share/nginx/html
docker-swarm-visualizer.
副本的拉伸。
[root@server1 ~]# docker service scale my_cluster=4
[root@server1 ~]# docker service ps my_cluster
[root@server1 ~]# docker service rm my_cluster
my_cluster
[root@server1 ~]# docker service ls
server1 2 3
[root@server1 ~]# docker pull ikubernetes/myapp:v1
[root@server1 ~]# docker tag ikubernetes/myapp:v1 myapp:v1
[root@server1 ~]# docker rmi ikubernetes/myapp:v1
[root@server2 ~]# docker pull ikubernetes/myapp:v1
[root@server3 ~]# docker pull ikubernetes/myapp:v1
[root@server1 ~]# docker service c