首页 > 解决方案 > 重启 Docker 桌面导致 Gitlab-CI 备份丢失

问题描述

我的 Windows 电脑上安装了一个 docker 桌面。在那,我在一个 docker 容器上自托管了 gitlab。今天我尝试通过键入以下命令来备份我的 gitlab:

docker exec -t <my-container-name> gitlab-backup create

运行此命令后,备份成功,并看到备份完成的消息。然后我重新启动了我的 docker 桌面,当容器启动时我等待容器启动我访问了 gitlab 界面,但我看到了一个新的 gitlab 实例。

然后我键入以下命令来恢复我的备份:

docker exec -it <my-container-name> gitlab-backup restore

但是看到消息说:

在 /var/opt/gitlab/backups 中找不到备份

请确保文件名以 _gitlab_backup.tar 结尾

因为我在 gitlab 官方网站上看到了这些命令,所以我做错了可能是什么原因。

我在 docker-compose.yml 文件中有这个:

version: "3.6" 
services:
  web:
    image: 'gitlab/gitlab-ce'
    container_name: 'gitlab'
    restart: always
    hostname: 'localhost'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://localhost:9090'
        gitlab_rails['gitlab_shell_ssh_port'] = 2224
    networks:
      - gitlab-network
    ports:
      - '80:80'
      - '443:443'
      - '9090:9090'
      - '2224:22'
    volumes:
      - '/srv/gitlab/config:/etc/gitlab'
      - '/srv/gitlab/logs:/var/log/gitlab'
      - '/srv/gitlab/data:/var/opt/gitlab'

networks:
  gitlab-network:
    name: gitlab-network

我使用这个命令来运行容器:

docker-compose up --build --abort-on-container-exit

标签: dockergitlabbackup

解决方案


如果您使用卷启动容器,请尝试查看C:\ProgramData\docker\volume您的备份。

备份通常位于:/var/opt/gitlab/backups容器内。因此,希望您映射/var/opt/gitlab到卷或绑定挂载。


推荐阅读