问题一:Error executing action create
on resource ‘storage_directory[/var/opt/gitlab/.ssh]’
使用docker-compose.yml 启动container时,在volumes中,指定了本地的文件,如:
web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'localhost'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://localhost:8989'
ports:
- '8989:8989'
- '2224:22'
volumes:
- 'D:\config:/etc/gitlab'
- 'D:\logs:/var/log/gitlab'
- 'D:\data:/var/opt/gitlab'
此时,在启动container的过程中,会不断的重启。原因是抛了一个错误:
Error executing action create
on resource 'storage_directory[/var/opt/gitlab/.ssh]'
网上查找解决的办法,其中一个办法是,不要指定本地的volume,如:
web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'localhost'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://localhost:8989'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
ports:
- '8989:8989'
- '2224:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
然后发现,启动成功了,看起来一切正常。
但是,如果重启docker后,会发现Gitlab也重置了,里面的数据都没有了。
问题二:Gitlab数据丢失
解决办法:采用volume数据卷挂载的形式
第一步:创建volume
docker volume create gitlab-logs
docker volume create gitlab-data
第二步:修改docker-compose
web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'localhost'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://localhost:8989'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
ports:
- '8989:8989'
- '2224:22'
volumes:
- 'D:\config:/etc/gitlab'
- 'gitlab-logs:/var/log/gitlab'
- 'gitlab-data:/var/opt/gitlab'
重启Docker Desktop,Gitlab没有重置。