一、迁移步骤
- 基于现有镜像迁移。从之前的服务器A上把修改过的gitlab镜像导出、拷贝、导入到目标服务器B的docker中
- 拷贝服务器A现有gitlab服务的配置文件(目录)和数据文件(目录)到目标服务器B。
- 基于原镜像和配置及数据文件启动gitlab容器。
二、遇到的问题
1、无法正常启动
迁移后gitlab一直重启处于string状态后变更到unhealth状态,在日志中看到很多Permission denied
,目测是权限问题,执行一下命令。
docker exec -it gitlab update-permissions
docker restart gitlab
还是无法启动,随后进入gitlab容器执行一直reconfigure指令后能够成功启动。
gitlab-ctl reconfigure
启动后,地址能够登录,并且能够访问到项目地址,但无法写入,docker日志中显示
显示的是grafana只读无法写,查看了一下grafana的issue。发现其实是挂载出来的目录只读不可写。修改用户权限可读可写可执行即可
chmod -R 777 /data/gitlab
查看gitlab日志滚动一切正常。迁移完成。