Docker run命令具有将主机目录挂载到容器
的选项-v=[]: Create a bind mount with: [host-dir]:[container-dir]:[rw|ro].
If "host-dir" is missing, then docker creates a new volume.
Dockerfile有VOLUME
条指令
VOLUME ["/data"] - The VOLUME instruction will add one or more new volumes
to any container created from the image.
从我看到的情况来看,使用Dockerfile时无法指定host-dir
或rw / ro状态。
除了想与其他容器共享VOLUME之外,还有其他用途吗?
答案 0 :(得分:25)
Dockerfiles是可移植和共享的。 host-dir卷是100%依赖主机的东西,并且会在任何其他机器上中断,这与Docker的想法有点不同。
因此,只能在Dockerfile中使用可移植指令。如果需要host-dir卷,则需要在运行时指定它。
Dockerfile中VOLUME的一个常见用法是存储配置或网站资源,以便稍后由另一个容器更新。