docker run
有一个标志--volumes-from
,允许您从另一个容器挂载卷。
我发现人们创建专用容器只是为了为另一个容器提供卷。这是一种反模式吗?最佳实践应该是创建一个命名卷docker volume create --name
?
有人能解释一下为什么仅仅为了容量而创建专用容器是有益的吗?它是否适用于与 Docker Machine/Docker Swarm/Kubernetes 进行编排的情况?
答案1
我的理由列表:
1)假设你有一个包含很多容器的非常复杂的堆栈,你可以想象在 1 个 docker 中完成卷设置会更快,然后使用 --volumes-from 指令为所有其他 docker 继承此设置
2) 当我在生产环境中运行 docker 时,我有需要备份到磁带的静态数据。在每个堆栈上,我只需要添加 1 个使用 --volumes-from 运行备份软件客户端映像的 docker,就可以完成从所有堆栈备份所有静态数据。当我不得不将数据备份调度/触发委托给堆栈最终用户时,这也使事情变得简单。