docker swarm集群

#docker swarm集群

#环境 centos 7,docker-ce v17.12
#manager节点ip172.16.50.21

#创建swarm集群(默认manager节点)

docker swarm init
#docker swarm join-token manager …… #添加manager节点
#多ip需要指定ip地址
#docker swarm init --listen-addr 172.16.50.21:2377 --advertise-addr 172.16.50.21

#看提示得到加入集群的命令,在node节点执行

docker swarm join --token SWMTKN-1-16xuzm7lxqydugp~~~********  172.16.50.21:2377

#查看集群节点

docker node ls

#创建nginx服务

#docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像
docker service create --name nginx  --replicas 2 --publish 80:80 hub.test.com:5000/almi/nginx:0.1
#--network=swarm_test
#replicas 2 创建2个容器,hub.test.com为私有仓库

#查看swarm集群中的服务

docker service ls
docker service ps nginx

#kill其中一个容器

docker kill 96e6bccc2209
#等会自动启动一个新的容器

#修改服务实例数量为3

docker service scale nginx=3

#删除nginx服务

docker service rm nginx

#删除swarm节点

docker swarm leave --force  #node
docker node rm -f <node>    #manager

#docker swarm 常用命令

docker swarm init				#初始化集群
docker swarm join-token worker	#查看工作节点的 token
docker swarm join-token manager	#查看管理节点的 token
docker swarm join				#加入集群中

#docker node 常用命令

docker node ls		#查看所有集群节点
docker node rm		#删除某个节点(-f强制删除)
docker node inspect	##查看节点详情
docker node demote	#节点降级,由管理节点降级为工作节点
docker node promote	#节点升级,由工作节点升级为管理节点
docker node update	#更新节点
docker node ps		#查看节点中的 Task 任务

#docker service 常用命令

docker service create	#部署服务
docker service inspect	#查看服务详情
docker service logs		#产看某个服务日志
docker service ls		#查看所有服务详情
docker service rm		#删除某个服务(-f强制删除)
docker service scale	#设置某个服务个数
docker service update	#更新某个服务
#++++++++++++++++++++++++++++++

#Docker Stack 部署多个集群服务

#docker stack使用编排文件docker-compose.yml批量部署服务

#创建编排文件docker-compose.yml

mkdir mydocker ; cd mydocker
echo "#  docker stack
version: '3'
services:

  mynginx:
    image: hub.test.com:5000/almi/nginx:0.1
    ports:
     - "8081:80"
    deploy:
      replicas: 3

  busybox:
    image: hub.test.com:5000/busybox:latest
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      replicas: 2
#">docker-compose.yml

#使用docker-compose.yml批量创建服务

docker stack deploy -c docker-compose.yml deploy-test
docker stack ps deploy-test
#容器名称 deploy-test_<service名称>.随机后缀

#查看

docker service ls
docker ps

#docker stack 常用命令

docker stack deploy	  #部署新的堆栈或更新现有堆栈
docker stack ls	  #列出现有堆栈
docker stack ps	  #列出堆栈中的任务
docker stack rm	  #删除堆栈
docker stack services	#列出堆栈中的服务
docker stack down	#移除某个堆栈(不删数据)
#++++++++++++++++++++++++++++++
参考
https://www.cnblogs.com/xishuai/p/docker-swarm.html
https://www.cnblogs.com/wj5633/p/6963591.html
http://blog.csdn.net/wanglei_storage/article/details/77508620
#++++++++++++++++++++++++++++++
posted @ 2018-02-06 21:45  Elvin-vip  阅读(3584)  评论(0编辑  收藏  举报
https://rpc.cnblogs.com/metaweblog/elvi