重启docker后如何使用保存的卷数据?

问题描述 投票:0回答:1

我在运行Windows的PC上有一个基于Linux的Docker容器。我已经拉出并安装了Gitlab CI / CD。一切都在运行,我登录到Gitlab,但是每次重新启动Docker容器时,就像丢失了所有数据一样。我知道它会覆盖保存在容器内的先前数据,但是我需要一种“持久”该数据的方法。据我了解,唯一的方法是将Gitlab映像的卷以某种方式指向保存在PC上的目录。我该怎么做或类似的事情,这样我就不会在Docker重新启动时丢失数据?

我运行的用于实例化gitlab图像的脚本如下:

docker run -d --hostname gitlab.wproject.gr \
-p 4433:443 -p 80:80 -p 2223:22 \
--name gitlab-server1 \
--restart always \
--volume /storage/gitlab/config:/etc/gitlab \
--volume /storage/gitlab/logs:/var/log/gitlab \
--volume /storage/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
docker gitlab teamcity
1个回答
0
投票

请尝试为您的卷放置相对链接,而不是绝对链接。如果您在Windows上使用Docker Desktop,则卷管理的行为并不总是与Linux上相同。

测试:

mkdir gitlab

docker run -d --hostname gitlab.wproject.gr \
-p 4433:443 -p 80:80 -p 2223:22 \
--name gitlab-server1 \
--restart always \
--volume ./gitlab/config:/etc/gitlab \
--volume ./gitlab/logs:/var/log/gitlab \
--volume ./gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
© www.soinside.com 2019 - 2024. All rights reserved.