464 字
2 分钟
恢复docker数据

获取原来的数据#

在做从centos7到rockeylinux9的升级的时候,忘了导出原来docker里面还在跑的taiga的数据。还好做了快照,今天将数据恢复回来。

恢复到旧的centos7的时候,可能是快照打的时间差了,里面的docker已经无法启动,那么docker volume也不能用了。

只有直接进/var/lib/docker/volumes里面去找对应的volumes。

还好里面的各个volume都在,先scp -r到外面的一台中转服务器上去。

还有重要的是要拿到以前的配置文件,我当时做了邮件,证书,代理的一些配置。

找到taiga-docker文件夹,拷贝里面的env和yml文件出来,同样的到中转服务器。

安装docker在rockylinux9#

Terminal window
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl enable docker

还原原来的数据#

  • git clone https://github.com/kaleidos-ventures/taiga-docker

  • cd taiga-docker

  • git checkout stable

  • mv docker-compose.yml docker-compose.yml.bak

  • 将中转机器上面的docker-compose.yml拷贝到单签文件夹中

  • docker compose up -d

  • docker compose -f docker-compose.yml -f docker-compose-inits.yml run —rm taiga-manage createsuperuser

检查服务是否都已经跑起来了。访问在docker-compoose里面设置的url看看能不能访问。

如果可以的话,接下来就是还原数据。

  • systemctl stop docker
  • scp -r将中转服务器里面的taiga-docker_taiga-db-data文件夹复制到/var/lib/docker/volumes中
  • systemctl start docker

可能的问题#

如果不能访问,那么就在taiga-docker目录下,再运行一遍 docker compose up -d。

有时候会提示rabbitmq服务错误,不要管他,再docker compose up -d几次,就会好的。

然后访问原来的url,就能看到以前的数据了,添加新的试了下,也没问题了。

结论#

升级操作系统,是比较麻烦的事情。要做好计划列表,梳理好已有的服务,然后做好备份,这样才能避免数据的损失。

恢复docker数据
https://dididudu998.github.io/posts/恢复docker数据/
作者
滴滴嘟嘟
发布于
2023-11-21
许可协议
CC BY-NC-SA 4.0