有数升级docker版本
假设背景是升级docker27版本。
1.下载docker27版本的安装包
docker27版本安装包链接为59.111.178.240:20280/docker_installer/docker_installer.centos.docker27.sh
下载好后传到生产环境的2台服务器上,目录没有要求。
2. 检查docker的数据目录
以下操作2台服务器都需要检查
docker info #查看docker信息,有root dir数据目录的信息
cat /etc/docker/daemon.json #查看docker数据目录信息,是否和docker info中显示得一致
如果没有这个文件,手动创建daemon.json
vim /etc/docker/daemon.json
内容如下,假设docker info中的数据目录是/Netease/docker
{
"data-root": "/Netease/docker"
}
上述操作是为了保留docker的数据信息,比如镜像,swarm节点信息等等,必须要做
3.有数停服以及数据库数据备份
停服命令
docker service scale ydswarm_web=0
docker service scale ydswarm_schedule=0
业务数据库用的是自己的,业务自行备份数据
4.删除堆栈服务
docker stack ls #查看服务堆栈
docker stack rm ydswarm #将有数服务堆栈删除
如果有log和monitor堆栈,执行以下命令
docker stack rm log
docker stack rm monitor
5.docker版本升级
两台机器都需要操作
进入之前传过的docker_installer.centos.docker26.sh安装包目录
假设放在了/youdata/installer目录
cd /youdata/installer
./docker_installer.centos.docker26.sh uninstall
卸载docker26版本
如果不知道放哪了,find / -name 'docker_installer.centos.docker26.sh'
知道存放目录之后再执行上面的卸载操作
docker卸载完成之后,再安装27版本的docker
假设第一步的安装包放在了/youdata/installer下
cd /youdata/installer
chomd +x docker\_installer.centos.docker27.sh
./docker\_installer.centos.docker27.sh install
安装完成之后,验证docker版本以及节点信息
docker --version
docker node ls
docker info
6.启动有数服务
两台机器都升级为27版本docker之后,启动有数服务,主节点执行即可
cd /youdata/installer
docker stack deploy -c docker-stack.ydswarm815.yaml ydswarm
启动完成后,验证下
docker service ls #看下服务是否都启动完成
如果有log和monitor服务,也启动下
docker stack deploy -c docker-stack.log.yaml log
docker stack deploy -c docker-stack.monitor.yaml monitor
以上内容对您是否有帮助?