通过依次执行下面的命令,在Master服务器上安装Docker
apt-get update apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" apt-get update apt-get install -y docker-ce
创建Manager节点
docker swarm init #现在初始化Master服务器。。一个Docker Swarm集群需要Manager节点。
执行后会返回类似下面 的内容,可以在子节点(Slave)中执行,加入swarm
docker swarm join --token SWMTKN-1-0hqsajb64iynkg8ocp8uruktii5esuo4qiaxmqw2pddnkls9av-dfj7nf1x3vr5qcj4cqiusu4pv 45.77.138.242:2377 docker info |grep -A5 Swarm #查看当前集群信息 docker node ls #查看节点状态,node ID旁边那个*号表示现在连接到这个节点上。 docker info #查看docker所有基础信息 docker swarm init --advertise-addr 192.168.71.131 #--advertise-addr参数表示其它swarm中的worker节点使用此ip地址与manager联系。命令的输出包含了其它节点如何加入集群的命令。 docker swarm join-token worker #如果你不知道或者忘记了Swarm Manager节点的Token信息, 你可以在Manager节点上执行以下命令查看Worker节点连接所需要的Token信息。 hostnamectl set-hostname swarm01 #修改主机名 docker network ls #查看集群网络 docker node promote swarm-node1 swarm-node2 #升级worker节点为manager节点 docker node demote swarm-node1 swarm-node2 #降级worker节点为manager节点
移除节点时需要先在worker节点上执行docker swarm leave命令将节点状态设为Down后,在manager节点上执行docker node rm <node-name>移除。如果要移除manager节点,不建议使用–force id强制移除,而应该先进行降级后再移除。
docker swarm update #更新节点群 docker service ls #查看正在运行服务的列表
服务删除
docker service rm helloworld#删除服务时,会将服务在各个节点上创建的容器一同删除,而并不是将容器停止。
docker pull registry:latest #私有源本身也是一个Docker的镜像,先将拉取下来
docker pull registry :latest#私有源本身也是一个Docker的镜像,先将拉取下来 dockerrun-d-p8003:5000--nameregistry-v/home/dockeruser /data:/tmp/registrydocker.io/registry:latest #-d表示该容器在后台运行 #-p将主机的8003端口与容器的5000端口映射 #–name将容器的名称命名为registry #-v表示将镜像的存储位置“/tmp/registry”变更为宿主机的“/home /dockeruser/data” #在启动命令中,设置了对外开放的端口为8003端口,所以私有源的地址为 :45.77.138.242:8003 echo'{"insecure-registries":["45.77.138.242:8003"]}'>>/etc /docker/daemon.json #允许http systemctlrestartdocker
对于Slave服务器来说,只需要做三件事情:
apt-get update apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" apt-get update apt-get install -y docker-ce echo '{ "insecure-registries":["45.77.138.242:8003"] }' >> /etc/docker/daemon.json systemctl restart docker docker swarm join --token SWMTKN-1-0hqsajb64iynkg8ocp8uruktii5esuo4qiaxmqw2pddnkls9av-dfj7nf1x3vr5qcj4cqiusu4pv 45.77.138.242:2377 chmod +x init.sh ./init.sh