gitlab迁移到新的docker容器中
迁移步骤
1、备份旧gitlab数据
gitlab-rake gitlab:backup:create
默认会保存在 /var/opt/gitlab/backups ,实际情况可以使用find查找下文件路径
2、在新服务器上使用docker搭建相同版本的gitlab
version: '3' services: gitlab: image: 'gitlab/gitlab-ce:11.9.8-ce.0' restart: always container_name: compose-gitlab-ce hostname: 'gitlab.example.com' environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.example.com' gitlab_rails['time_zone'] = 'Asia/Shanghai' # 需要配置到 gitlab.rb 中的配置可以在这里配置,每个配置一行,注意缩进。 # 比如下面的电子邮件的配置: # gitlab_rails['smtp_enable'] = true # gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" # gitlab_rails['smtp_port'] = 465 # gitlab_rails['smtp_user_name'] = "xxxx@xx.com" # gitlab_rails['smtp_password'] = "password" # gitlab_rails['smtp_authentication'] = "login" # gitlab_rails['smtp_enable_starttls_auto'] = true # gitlab_rails['smtp_tls'] = true # gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com' ports: - '80:80' - '443:443' - '2222:22' volumes: - ./config:/etc/gitlab - ./data:/var/opt/gitlab - ./logs:/var/log/gitlab
在docker-compose.yml文件的同级目录创建三个目录:
mkdir config
mkdir data
mkdir logs
执行 docker-compose up -d 启动该容器,启动的时间会比较长 耐心等待 5分钟左右!!
3、拷贝文件到新服务器的docker中
docker cp ./1575650870_2019_12_06_11.9.8_gitlab_backup.tar compose-gitlab-ce:/var/opt/gitlab/backups
4、重建数据库
tips 1575650870_2019_12_06_11.9.8_gitlab_backup.tar 这个文件是第一步备份的时候生成的
docker exec -it compose-gitlab-ce /bin/bash chmod 777 -R /var/opt/gitlab/backups/ gitlab-rake gitlab:backup:restore BACKUP=1575650870_2019_12_06_11.9.8
迁移完成!!! 重启 gitlab 并验证
gitlab-ctl restart gitlab-rake gitlab:check SANITIZE=true
注意事项
gitlab版本必须一致,否则迁移失败
作者:南辞、归
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个无耻的文档搬运工!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义