gpt4 book ai didi

docker - Docker卷还原

转载 作者:行者123 更新时间:2023-12-02 21:19:23 25 4
gpt4 key购买 nike

我在docker中有一个gitlab容器。
今天,我已经安装了Kitematic,并开始进行实验。我选择了gitlab容器->设置->网络->按下“连接到主机网络”,然后gitlab死了。更改此设置后,我注意到该容器现在已删除所有设置。我认为该容器已重新创建。我对吗?

我发现了一些未使用的卷。我希望其中一些卷包含我的数据,这些数据在我的实验和容器重新创建后丢失了。

如何更改现有容器上的卷,以及如何确定gitlab镜像的先前实例正在使用哪些未使用的卷?以及如何将它们映射到相应的docker文件夹,如“/ etc / gitlab”,“/ var / log / gitlab”,“/ var / opt / gitlab”?也许我可以以某种方式浏览它们,这将有助于我理解基于文件结构的所有内容?

所有卷都在虚拟机内部,并且没有映射到我的主机操作系统驱动器。

最佳答案

gitlab docker文件声明了三个卷:

# Define data volumes
VOLUME ["/etc/gitlab", "/var/opt/gitlab", "/var/log/gitlab"]

因此,如果您在第一次启动时未命名它们,则docker将自动使用一些随机名称创建卷。您可以检查每个卷并查看其实际包含哪些文件:
docker volume ls
docker volume inspect <volume-name>

在主机上找到 Mountpoint,分析哪个卷映射到容器中的哪个目录。您可以将其与新容器进行比较
docker exec -it <container-name> ls /var/opt/gitlab

一旦确定了哪个卷映射到哪个目录,就可以像这样重新创建容器:
docker run <existing-volume1-name>:/etc/gitlab <existing-volume2-name>:/var/opt/gitlab ...

关于docker - Docker卷还原,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47461621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com