docker - 重启 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
解决方案
如果您使用卷启动容器,请尝试查看C:\ProgramData\docker\volume
您的备份。
备份通常位于:/var/opt/gitlab/backups
容器内。因此,希望您映射/var/opt/gitlab
到卷或绑定挂载。
推荐阅读
- php - 插入时出现Mysqlierror
- java - 从另一个抽象类扩展的抽象类的重要性是什么
- azure - 如何从 adalservice userInfo 获取角色
- python - Python + Pandas + 数据框:Keyerror
- c - 无法更改 C 中字符串的最后一个索引的内容?
- amazon-web-services - AWS Codebuild git webhook 中的 HEAD_REF 与 BASE_REF 有什么区别?
- json - 如何在flutter中传递json数组及其对象和对象的键。?
- python - 如何在 Pandas 中将时间序列值作为列
- php - 如何在不使用输入的情况下在表单上传递自己的变量
- python - Pickle-加载多于 1 行的 pkl 模型文件