阅读文档后,我发现自己对如何最好地管理生产性应用程序/服务数据有些困惑。
似乎有3种选择:
- 只需将卷映射到主机目录(即的
-v
参数docker run
) - 创建用于数据的docker容器映像(即,单独的容器和
--volumes-from
) - 创建一个docker卷(即
docker volume create
)
现在,似乎可以接受的做法是选择#2,但是然后我想知道#3的目的是什么。
尤其是您如何正确地处理这些docker volume
情况?对于每个情况,使用数据卷容器还是更好?
- 您需要服务器中单独的卷和/或存储层中的应用程序数据
- 备份
- 恢复数据
serverfault.com/q/576490/126632
—
迈克尔·汉普顿
@MichaelHampton我意识到我应该改写我的问题
—
dukeofgaming
#1不是一个严肃的生产选择;如果存在替代方案,则基本上不应该这样做。
—
迈克尔·汉普顿
@MichaelHampton为什么?,数据可能没有被码头化,但是主机OS仍由监视和备份的基础架构团队管理
—
dukeofgaming
@dukeofgaming更不用说您可以运行
—
inf3rno
btrfs scrub
它来查找和纠正损坏的文件。我不确定dockerized的工作方式如何,但是我想它不能防止数据腐烂,因此,如果发生某些不良情况,我总是需要完全还原,而不仅仅是还原单个文件。另一个想法是,它增加了另一层抽象,因此减慢了文件读取和写入的速度。我以某种方式看不到#2和#3的优势,但是我对Docker没有经验,所以这可能会改变。