基本上我已经看到了四种在 docker 容器中管理数据的不同方法
- 使用容器内的“临时”卷 - 删除容器时会删除数据
- 将主机上的容器映射到 docker 容器中的卷 - 仅推荐用于测试目的
- 创建一个“数据容器”并将该容器卷映射到其他容器
- 创建一个 docker“数据卷”并将其映射到其他容器
据我了解,备选方案 3 和 4 是最推荐的方法,但我想知道不同方法的优点/缺点是什么?
一些代码来说明我的意思:
数据容器
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 容器运行,并尽可能简单可靠地备份应用程序数据:-)