Docker中持久化容器数据的不同策略

基本上我已经看到了在Docker容器中pipe理数据的四种不同方式

  1. 使用容器内的“短暂”卷 – 当容器被移除时,数据被删除
  2. 将主机上的容器映射到泊坞窗容器中的卷 – 仅build议用于testing目的
  3. 创build一个“数据容器”并将该容器卷映射到其他容器
  4. 创build一个docker“数据卷”并将其映射到其他容器

据我所知,替代scheme3和4是最推荐的方法,但我想知道不同方法的优缺点是什么?

一些代码来说明我的意思:

数据容器

在这里解释: https : //docs.docker.com/engine/tutorials/dockervolumes/#/creating-and-mounting-a-data-volume-container

docker create -v /dbdata --name dbstore training/postgres /bin/true docker run -d --volumes-from dbstore --name db1 training/postgres 

数据量

在这里解释: https : //docs.docker.com/engine/reference/commandline/volume_create/

使用不同的“docker volume”命令来维护卷

 docker volume create --name hello docker run -d -v hello:/world busybox ls /world 

用例

运行jira,bitbucket,jenkins,sonar和nexus作为docker容器,可以将应用程序数据备份为尽可能简单和可靠的:-)