我的windows pc上安装了一个码头桌面。在这个过程中,我在一个码头容器上有一个自动托管的gitlab。今天,我尝试通过输入以下命令来备份我的gitlab:
docker exec -t <my-container-name> gitlab-backup create
运行此命令后,备份成功,并看到了一条消息,即备份已完成。然后我重新启动了我的对接桌面,等待容器启动,当容器启动时,我访问了gitlab接口,但是我看到了一个新的gitlab实例。
然后输入以下命令来恢复备份:
docker exec -it <my-container-name> gitlab-backup restore
但看到了这样的信息:
没有在/var/opt/gitlab/备份中找到备份
请确保文件名以_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
发布于 2019-09-05 18:21:27
如果您使用卷启动容器,请尝试查看C:\ProgramData\docker\volume
进行备份。
备份通常位于容器内的:/var/opt/gitlab/backups
。因此,希望您将/var/opt/gitlab
映射到卷或绑定挂载。
发布于 2019-09-05 20:07:20
您是否尝试提供备份文件的名称,如总括安装?当我在Docker中恢复备份时,我基本上使用了总括指令,但是使用了docker来完成备份。以下是我从笔记中使用的命令。
docker exec -it gitlab gitlab-ctl stop unicorn
docker exec -it gitlab gitlab-ctl stop sidekiq
docker exec -it gitlab gitlab-rake gitlab:backup:restore BACKUP=1541603057_2018_11_07_10.3.4
docker exec -it gitlab gitlab-ctl start
docker exec -it gitlab gitlab-rake gitlab:check SANITIZE=true
看起来他们在某个时候添加了一个gitlab备份命令,所以您可能可以使用它来代替gitlab。
https://stackoverflow.com/questions/57808174
复制相似问题