gitlab 迁移

备份

查看之前docker的启动命令

history|grep run

docker run -i --name gitlab \

--restart=always \

-p 8022:22 \

-p 80:80 \

-p 8443:443 \

-v /home/gitlab/etc:/etc/gitlab \

-v /home/gitlab/log:/var/log/gitlab \

-v /home/gitlab/data:/var/opt/gitlab \

twang2218/gitlab-ce-zh

docker ps 查看旧gitlab的containId

docker exec -it xx /bin/bash 进入旧gitlab的容器里面

执行命令gitlab-rake gitlab:backup:create,生成文件1729667793_2024_10_23_11.10.1_gitlab_backup.tar,文件所在容器内的目录是

/var/opt/gitlab/backups/;

或者在宿主机搜文件名字, find / -name 1729667793_2024_10_23_11.10.1_gitlab_backup.tar

安装

在旧服务器上docker save -o /home/gitlab_new.tar gitlab_new

在新的服务器上安装docker(步骤省略)

导入旧gitlab导出的gitlab_new.tar

docker load </home/gitlab_new.tar

启动

docker run -i --name gitlab \

--restart=always \

-p 8022:22 \

-p 80:80 \

-p 8443:443 \

-v /home/gitlab/etc:/etc/gitlab \

-v /home/gitlab/log:/var/log/gitlab \

-v /home/gitlab/data:/var/opt/gitlab \

twang2218/gitlab-ce-zh

然后把旧的gitlab备份的 1729667793_2024_10_23_11.10.1_gitlab_backup.tar 、gitlab.rb 和gitlab-secrets.json 导入到新的容器里面的/opt目录

docker cp /home/1729667793_2024_10_23_11.10.1_gitlab_backup.tar containId:/opt

docker cp ...

dcoker cp ...

docker exec -it containId /bin/bash

把刚导入的tar包移动到/var/opt/gitlab/backups/

在容器执行命令

gitlab-rake gitlab:backup:restore BACKUP=1729667793_2024_10_23_11.10.1

把gitlab.rb 和gitlab-secrets.json移动到/etc/gitlab/目录

并设置权限chmod 777

容器内重启gitlab

gitlab-ctl restart

如遇到页面访问异常问题:

ip地址映射问题,修改vim /etc/gitlab/gitlab.rb

external_url 'xxx.xxx.xxx.xxx'

gitlab_rails['gitlab_ssh_host'] = 'xxx.xxx.xxx.xxx'

gitlab_rails['gitlab_shell_ssh_port'] = 9922

gitlab-ctl reconfigure

修改gitlab.yml

vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

host:xxx.xx.xx.xx

port:80

https:false

gitlab-ctl restart

参考:

docker部署的gitlab迁移_docker gitlab 迁移-CSDN博客

gitlab 安装 备份 恢复 邮箱配置 修改web端口_gitlab-rake gitlab:backup:create: command not foun-CSDN博客

相关推荐
野犬寒鸦3 分钟前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
wenzhangli73 分钟前
ooderA2UI BridgeCode 深度解析:从设计原理到 Trae Solo Skill 实践
java·开发语言·人工智能·开源
HalvmånEver6 分钟前
Linux:线程互斥
java·linux·运维
rainbow688913 分钟前
深入解析C++STL:map与set底层奥秘
java·数据结构·算法
灵感菇_17 分钟前
Java 锁机制全面解析
java·开发语言
indexsunny18 分钟前
互联网大厂Java面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·微服务·kafka·spring security·电商
娇娇乔木31 分钟前
模块十一--接口/抽象方法/多态--尚硅谷Javase笔记总结
java·开发语言
saber_andlibert43 分钟前
TCMalloc底层实现
java·前端·网络
wangjialelele1 小时前
平衡二叉搜索树:AVL树和红黑树
java·c语言·开发语言·数据结构·c++·算法·深度优先
m0_481147331 小时前
拦截器跟过滤器的区别?拦截器需要注册吗?过滤器需要注册吗?
java