当前位置: 首页 >数据库 > Docker服务迁移

Docker服务迁移

背景

近期之前活动购买的百度智能云到期了,续费太贵,所以重新参加了华为云的活动。升级到了2C8G5M 但是单核2.2G 比之前百度智能云的2C4G5M,单核2.4G 略低,但是3年1360 还要什么轮子。上车。

备份数据

  • nginx配置
  • docker-compse 配置 为了方便管理,单个应用加一个文件夹,如 docker-nextclud/docker-compose.yml
  • docker 数据备份 默认/var/lib/docker/volumes

系统部署-服务安装

docker服务部署

首先确认没有部署docker相关服务,确认无残留
然后设置docker仓库

sudo yum install -y yum-utils yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker:
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动docker
systemctl start docker
设置docker开机启动
systemctl enable docker

nginx服务部署

yum install nginxsystemctl start  nginxsystemctl enable nginx

docker-compse服务部署

命令:

curl -L download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

也可以直接访问版本列表 下载适合的版本

下载之后上传,解压、更改目录、设置权限

cp -p  docker-compose-linux-x86_64  /usr/local/binchmod +x /usr/local/bin/docker-compose

数据、配置文件替换

  • nginx 配置文件替换
  • docker volumes对应容器的存储卷复制到默认目录。
  • docker-compse文件复制,

启动服务

进入应用的docker-compose目录
docker-compose up -d

  • 备注:

注意事项

docker持久化目录更改

因此我一直都是使用默认目录, 而volumes 使用的 named volumes。
默认是会在docker存储目录下 项目名_应用名_volume (项目名默认是yml所在文件夹名称)

如: docker-nextclud目录下yml配置为

version: '3.3'services:  db:image: mysql:8.0command: --transaction-isolation=READ-COMMITTED --binlog-format=ROWrestart: alwaysvolumes:  - db:/var/lib/mysqlenvironment:  - MYSQL_ROOT_PASSWORD=xxx  - MYSQL_PASSWORD=xxx  - MYSQL_DATABASE=xxx  - MYSQL_USER=xxx  nextcloud:image: nextcloud:25.0.2ports:  - xxx:xxxenvironment:  - MYSQL_ROOT_PASSWORD=xxx  - MYSQL_PASSWORD=xxx  - MYSQL_DATABASE=xxx  - MYSQL_USER=xxx  - MYSQL_HOST=dbvolumes:  - nextcloud:/var/www/htmlrestart: alwaysvolumes:  nextcloud:  db:

正常会在 /var/lib/docker/volumes 生成 docker-nextcloud_nextcloud\docker-nextcloud_db 两个持久化目录。

但是迁移前docker版本是 Docker version 19.03.14, build 5eb3275d40,之前发现目录为 dockeextcloud_nextcloud\dockeextcloud_db 可能是bug导致 -符号没识别。

本次迁移后安装的 docker版本是 Docker version 20.10.21, build baeda1f
又生成了新的正常目录。

所以将新生成的目录docker-nextcloud_nextcloud\docker-nextcloud_db删除 ,然后更改 dockeextcloud_nextcloud\dockeextcloud_db 为docker-nextcloud_nextcloud\docker-nextcloud_db。 重新启动就可以了。

nextcloud跨版本升级的问题

查看这个链接: nextcloud跨版本升级问题

备注

IT 内容具有时效性,未避免更新后未同步,请点击查看最新内容: Docker服务迁移
文章首发于: http://nebofeng.com/2022/12/17/docker%e6%9c%8d%e5%8a%a1%e8%bf%81%e7%a7%bb/

作者:nebofeng
来源链接:https://www.cnblogs.com/nebofeng/p/16989322.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/118120.html

标签:MySQL升级
分享给朋友:

“Docker服务迁移” 的相关文章