我找到的最接近的答案是这个。
但我想知道的是,Kubernetes是否完全忽略Dockerfile中的VOLUME命令?或者数据将持久保存在两个地方?一个是Docker卷(在运行Pod的主机上),另一个是Kubernetes的PV?
问这个问题的原因是因为我从docker hub部署了一些包含VOLUME命令的容器。同时,我也将PVC附加到我的Pod上。我在思考本地卷(Docker卷,而不是K8 PV)是否会在节点上创建?如果我的Pod被调度到另一个节点,那么另一个新的卷会被创建吗?
此外,感谢@Rico指出,-v命令和Kubernetes的挂载将优先于dockerfile VOLUME命令,但如果情况如下所示:
-Dockerfile VOLUME放置在“/myvol”上 -Kubernetes将PVC挂载到“/anotherMyVol”
在这种情况下,myvol会挂载到本地节点硬盘上吗?并导致未知的本地数据持久化?
但我想知道的是,Kubernetes是否完全忽略Dockerfile中的VOLUME命令?或者数据将持久保存在两个地方?一个是Docker卷(在运行Pod的主机上),另一个是Kubernetes的PV?
问这个问题的原因是因为我从docker hub部署了一些包含VOLUME命令的容器。同时,我也将PVC附加到我的Pod上。我在思考本地卷(Docker卷,而不是K8 PV)是否会在节点上创建?如果我的Pod被调度到另一个节点,那么另一个新的卷会被创建吗?
此外,感谢@Rico指出,-v命令和Kubernetes的挂载将优先于dockerfile VOLUME命令,但如果情况如下所示:
-Dockerfile VOLUME放置在“/myvol”上 -Kubernetes将PVC挂载到“/anotherMyVol”
在这种情况下,myvol会挂载到本地节点硬盘上吗?并导致未知的本地数据持久化?
docker run -v
选项的工作方式完全相同,包括它们如何与Dockerfile VOLUME声明互动。 - David Maze