docker - docke如何处理永久存储( 例如数据库)

  显示原文与译文双语对照的内容

如何处理 Docker 容器的持久存储? 我目前正在使用这种方法: 创建用于Postgres的图像 比如,然后启动


docker run --volumes-from c0dbc34fd631 -d app_name/postgres

恕我直言,有缺点,我必须永远不会( 意外)"c0dbc34fd631"删除容器。

另一个想法是将主机卷"-v"装入容器,但是容器内的userid不一定与主机的userid相匹配,然后权限可能会被破坏。

希望听到你的建议。 谢谢!

编辑:更新"我无法删除"到"我永远不能删除""

编辑:"--volumes-from'cryptic_id'"你也可以使用"--volumes-from my-data-container",其中"my-data-container"是你分配给data-only容器的名称,比如"Docker 运行 -name my-data-container 。。"( 参见接受的答案)

时间:

在 Docker 发行版v1.0中,你可以使用


docker run -v/host:/container.. .

在运行 Docker的主机上使用这个卷作为持久存储。 我通常使用这样的方法来保存我的应用程序日志。

虽然这仍然是一个的一部分 Docker 需要一些工作,你应该把音量在 Dockerfile 体积指令所以你不需要复制另一个容器的数量。 这将使你的容器更少 inter-dependent,并且你不必担心删除一个容器来影响另一个容器。

...