Docker'仅数据容器'被关闭

时间:2016-04-05 11:54:22

标签: docker containers persistent-storage

我似乎无法在任何地方找到答案。大量教程声明拥有仅数据容器是如何在docker中实现持久数据的。然而,我不能理解的是,只要数据存储容器存在,数据似乎只是持久的。当它关闭并重新启动时,数据就会消失。

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

1 个答案:

答案 0 :(得分:2)

  

许多教程都声明拥有一个仅数据容器是如何在docker中实现持久数据的。

请注意,对于Docker的最新版本,现在不再是这种情况了;卷现在是"头等"公民,可以使用@[ @[ @733, @"Oakleigh - Box Hill via Clayton & Monash University & Mt Waverley", @"Oakleigh Railway Station/Johnson St", @"2016-04-05T11:44:00Z" ], @[ @631, @"Southland - Waverley Gardens via Clayton & Monash University", @"Southland Shopping Centre/Karen St", @"2016-04-05T11:46:00Z" ], @[ @703, @"Middle Brighton - Blackburn via Bentleigh & Clayton & Monash University (SMARTBUS Service)", @"Luntar Rd/Centre Rd", @"2016-04-05T11:50:00Z" ] ]; 命令创建/删除/等。这意味着您可以通过运行:

来创建持久数据卷
docker volume

以后你可以这样依附于它:

$ docker volume create --name myvolume
  

但我不明白,只要数据存储容器存在,数据似乎只是持久的。

如果您在问题中包含有关如何创建仅限数据的容器的信息,将会有所帮助。请注意,仅数据容器必须"运行"有用;它必须存在。因此,例如,我可以像这样创建一个仅数据的容器:

$ docker run -v myvolume:/data ...

当然,这将运行$ 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中使用早于1.10(1.9,可能是?)的持久卷,但由于$ 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 命令不再需要这种机制。