gpt4 book ai didi

docker - Docker 'data only container'被关闭

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

我似乎在任何地方都找不到答案。大量教程指出,拥有仅数据容器是您在Docker中实现持久数据的方式。但是我不明白的是,只要存在仅数据容器,数据就似乎是持久性的。关闭并重新启动后,数据将消失。

考虑到没有系统将有100%的正常运行时间,我希望长期数据库的内容能够在物理系统重启等之后继续存在。如何正确保存数据?

最佳答案

Plenty of tutorials state that having a data only container is how you achieve persistent data in docker.



请注意,在最新版本的Docker中,情况已不再如此。卷现在是“一流”公民,可以使用 docker volume命令创建/删除/等。这意味着您可以通过运行以下命令来创建持久数据卷:
$ docker volume create --name myvolume

然后,您可以像这样附加到它:
$ docker run -v myvolume:/data ...

What I don't understand however is that the data only seems to be persistent as long as the data only container exists.



如果您要在问题中包括有关如何创建仅数据容器的信息,这将有所帮助。注意,仅数据容器不必“运行”即可使用。它只是必须存在。因此,例如,我可以创建一个仅数据的容器,如下所示:
$ docker run -v /data --name datacontainer  busybox true

当然,这将运行 /bin/true,然后立即退出:
$ docker ps -a
47568a43d386 busybox "true" 7 seconds ago Exited (0) 6 seconds ago datacontainer

但是即使容器已经退出,我也可以使用新容器中的卷:
$ docker run -it --volumes-from datacontainer busybox sh
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/tank-docker--vol
83844100 2398688 81445412 3% /data

该机制是在1.10(可能是1.9?)之前在Docker中获取持久卷的机制,但是由于 docker volume命令而不再需要这种机制。

关于docker - Docker 'data only container'被关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36425696/

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