docker镜像升级回滚
测试环境:ubuntu中测试 nginx:latest 和nginx:1.21
- 首先拉取两个版本的镜像
docker pull nginx:latest
docker pull nginx:1.21
如果是arm64版本的需要使用 sudo docker pull --platform=arm64 nginx:latest
- 创建Swarm集群
初始化集群
$ docker swarm init --advertise-addr 127.0.0.1
Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
127.0.0.1:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow
如果你的 Docker 主机有多个网卡,拥有多个 IP,必须使用 --advertise-addr 指定 IP。
增加工作节点
$ docker swarm join \
--token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
127.0.0.1:2377
This node joined a swarm as a worker.
查看集群
docker node ls
3. 部署服务
使用docker service
命令来管理Swarm集群中的服务,该命令只能在管理节点运行。
新建服务
$ docker service create --replicas 1 --name nginx nginx:1.21
查看服务
使用docker service ls
来查看当前Swarm集群运行的服务
使用docker service ps
来查看某个服务的详情
使用docker service logs
来查看某个服务的日志
删除服务
使用docker service rm nginx
滚动升级
docker service update --image nginx:latest nginx
服务回退
docker service rollback nginx
docker service ps nginx
查看服务详情