云计算百科
云计算领域专业知识百科平台

windows版docker部署的gitlab,备份后迁移到另一个服务器

学习目标:

windows版docker部署的gitlab,备份后迁移到另一个服务器


学习内容:

Docker 部署的 GitLab 备份

如果你使用 Docker 部署的 GitLab,需要进入到 GitLab 容器内部执行备份命令。

1. 进入 GitLab 容器

使用以下命令进入正在运行的 GitLab 容器:

docker exec -it <container_name_or_id> bash

<container_name_or_id> 是你 GitLab 容器的名称或者 ID,你可以通过 docker ps 命令查看。

2. 执行备份命令

进入容器后,执行与原生部署相同的备份命令:

gitlab-backup create

同样,备份文件会生成在容器内的 /var/opt/gitlab/backups 目录;文件名类似 1691234567_2024_07_20_16.1.0_gitlab_backup.tar

3. 将备份文件从容器复制到宿主机

为了方便管理和存储,你可以将生成的备份文件从容器复制到宿主机,使用以下命令:

docker cp <container_name_or_id>:/var/opt/gitlab/backups/<backup_file_name> /path/on/host

<backup_file_name> 是你在容器内生成的备份文件名, /path/on/host 是宿主机上要存放备份文件的路径。

以下是在 Windows 版 Docker 上,将 GitLab 备份数据加载到新的 GitLab 容器的详细教程:

前提条件

  • 已经在旧的 GitLab Docker 容器中完成了数据备份,并且备份文件可用。
  • 安装了 Windows 版 Docker。

步骤

1. 拉取 GitLab Docker 镜像

首先,你需要从 Docker Hub 拉取最新的 GitLab 镜像。打开 PowerShell 或命令提示符,运行以下命令:

docker pull gitlab/gitlab-ce:latest

2. 创建新的 GitLab 容器

在创建容器之前,你需要准备好数据存储目录。在 Windows 上,你可以选择一个合适的本地目录,例如 C:\\gitlab-data。将旧服务器gitlab挂载的文件复制到对应本地目录。然后,运行以下命令创建并启动一个新的 GitLab 容器:

docker run d \\
hostname gitlab.example.com \\
p 80:80 p 443:443 p 22:22 \\
name gitlab \\
restart always \\
v C:\\gitlab-data\\config:/etc/gitlab \\
v C:\\gitlab-data\\logs:/var/log/gitlab \\
v C:\\gitlab-data\\data:/var/opt/gitlab \\
gitlab/gitlab-ce:latest

  • –hostname:指定 GitLab 的主机名。
  • -p:映射容器的端口到主机的端口。
  • –name:指定容器的名称。
  • –restart always:设置容器在 Docker 启动时自动启动。
  • -v:挂载本地目录到容器内的指定目录。
3. 等待 GitLab 容器初始化完成

新容器启动后,GitLab 需要一些时间来初始化。你可以通过查看容器日志来检查初始化状态:

docker logs f gitlab

当看到类似以下信息时,表示 GitLab 已经初始化完成:

==> /var/log/gitlab/gitlab-rails/production.log <==
Started GET "/" for 172.17.0.1 at 2025-05-16 08:14:30 +0000

4. 复制备份文件到容器内

将之前备份的 GitLab 数据文件复制到新容器内的 /var/opt/gitlab/backups 目录。假设备份文件名为 1234567890_2025_05_16_15.0.0_gitlab_backup.tar,你可以使用以下命令进行复制:

docker cp 1234567890_2025_05_16_15.0.0_gitlab_backup.tar gitlab:/var/opt/gitlab/backups

5. 恢复备份数据

进入 GitLab 容器的 shell:

docker exec it gitlab /bin/bash

在容器内,使用以下命令恢复备份数据:

gitlab-backup restore BACKUP=1234567890_2025_05_16_15.0.0

注意:BACKUP 参数的值为备份文件的前缀,即去掉 .tar 后的部分。

在恢复过程中,你可能需要输入一些确认信息,按照提示操作即可。恢复完成后,退出容器的 shell:

exit

6. 重启 GitLab 容器

为了使恢复的数据生效,你需要重启 GitLab 容器:

docker restart gitlab

7. 验证恢复结果

等待容器重启完成后,打开浏览器,访问 http://localhost(如果你使用的是默认端口),登录 GitLab 并检查项目、用户等数据是否已经恢复。

注意事项

  • 确保备份文件的版本与新容器中 GitLab 的版本兼容。如果版本不兼容,可能会导致恢复失败。
  • 在恢复过程中,可能会遇到一些权限问题。如果遇到问题,可以尝试修改备份文件的权限或使用 root 用户执行恢复命令。

赞(0)
未经允许不得转载:网硕互联帮助中心 » windows版docker部署的gitlab,备份后迁移到另一个服务器
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!