一、docker swarm
docker swarm init #初始化
然后在其他俩个里面
docker swarm join --token SWMTKN-1-09c8m7ubocmrfps6nmfty1urvdcff0iifo11rfso2fqaolq9il-6a3po68id1ttpedl40gqwnhy8 172.25.32.1:2377
添加完成之后
docker node ls
docker node demote server1 #降级
docker swarm leave #down掉
然后可以在2里面执行
docker node rm server1
就会发现把一删除了
然后在4里面执行一次
docker swarm join --token SWMTKN-1-09c8m7ubocmrfps6nmfty1urvdcff0iifo11rfso2fqaolq9il-6a3po68id1ttpedl40gqwnhy8 172.25.32.2:2377
然后在2里面
docker pull myapp:v1 #从私有仓库直接拿来
docker service create --name webservice --publish 80:80 --replicas 3 myapp:v1 #创建三个节点
docker service ps webservice #查看
docker service update --image myapp:v2 webservice #更新
visualizer
docker service create --name=viz --publish=8080:8080/tcp --constraint=node.role==manager --mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock visualizer
docker service update --image myapp:v2 --update-parallelism 5 --update-delay 5s webservice
docker service rm webservice
docker service rm viz
vim docker-compose.yml
version: "3.8"
services:
web:
image: myapp:v1
ports:
- "80:80"
networks:
- webnet
deploy:
replicas: 60
update_config:
parallelism: 20
delay: 5s
restart_policy:
condition: on-failure
stop_grace_period: 1m30s
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints:
- "node.role==manager"
networks:
webnet:
visualizer:
image: visualizer:latest
ports:
- "8080:8080"
docker stack deploy -c docker-compose.yml mycluster
portainer
docker load -i portainer.tar
docker load -i portainer-agent.tar
docker tag portainer/portainer:latest reg.westos.org/portainer/portainer:latest
docker tag portainer/agent:latest reg.westos.org/portainer/agent:latest
docker push reg.westos.org/portainer/portainer:latest
docker push reg.westos.org/portainer/agent
docker stack deploy -c portainer-agent-stack.yml portainer
docker stack ls
docker service ls
启动成功就能开始访问了