【发布时间】:2021-03-29 09:04:52
【问题描述】:
我知道您可以在 dockerfile 中指定一个卷,但我发现用户不需要创建这样一个卷的问题。
如果他忘记指定一个卷,并且那里保存了许多可能很昂贵的文件,但它们不是持久的,因为没有指定卷怎么办?
所以我的问题是是否可以强制用户为该挂载点创建一个卷,或者至少在开始时(在容器内)检查是否有一个卷已挂载,以便它可以对丢失的内容做出反应音量?
编辑:有了自动创建的未命名卷的新信息,我也将接受用户端解决方案(不以检查卷的方式更改容器,而是警告/防止的 docker-deamon 设置我不会错误地创建未命名的卷。
【问题讨论】:
-
如果您的
Dockerfile有一个VOLUME指令并且在运行期间没有挂载命名卷,那么docker将为数据创建一个anonymous volume,该卷永远不会“丢失”。您可以检查容器装载的卷名称docker inspect mycontainer --format "{{range .Mounts}}{{.Name}}{{end}}"。 -
哦,我仍然希望能回答我的问题,因为我认为这些 id-names 卷不适合存放重要数据。
-
如果您发现自己使用匿名卷,您可以将数据移动到命名卷,然后使用命名卷重新创建容器。
-
@masseyb 这是我知道的部分,但我要求的是一个能抓住用法的功能。
标签: docker docker-volume