【发布时间】:2018-10-30 10:43:30
【问题描述】:
我找到的最接近的答案是this。
但我想知道的是,Dockerfile VOLUME 命令会被 Kubernetes 完全忽略吗?还是数据会被持久化到两个地方?一个用于 docker volume(在哪个 pod 运行的主机中),另一个是 Kubernetes 的 PV?
问这个的原因是因为我从 docker hub 部署了一些包含 VOLUME 命令的容器。同时,我还将 PVC 连接到我的吊舱。我在想是否会在节点中创建本地卷(docker 卷,而不是 K8 PV)?如果我的 pod 调度到另一个节点,那么会创建另一个新卷吗?
最重要的是,感谢@Rico 指出-v 命令和 Kubernetes 的挂载将优先于 dockerfile VOLUME 命令,但如果出现以下情况:
dockerfile VOLUME 到 '/myvol'
Kubernetes 将 PVC 挂载到“/anotherMyVol”
在这种情况下,myvol 会挂载到我的本地节点硬盘吗?并导致不知情的数据在本地持久化?
【问题讨论】:
-
我一直认为 Kubernetes Pod volumeMounts 的工作方式与
docker run -v选项完全相同,包括它们如何与 Dockerfile VOLUME 声明交互。 -
@DavidMaze 你能详细说明它是如何与 Dockerfile VOLUME 交互的吗?
标签: docker kubernetes