在文档中它说VOLUME指令创建了一个挂载点,但是我使用以下命令创建了一个映像:
FROM alpine
RUN mkdir /myvol
RUN echo "hello world" > /myvol/greeting
并且我能够mount /myvol
使用容器文件系统上的容器路径或任何其他路径,docker run -v vol:/myvol myimage
并且能够/var/lib/docker/vol/_data
在主机上查看其中的数据。
添加VOLUME myvol
到Docker文件会有什么不同?
运行Dockerfile(VOLUME /myvol
)后,/myvol
将创建Mountpoint()(检查docker run -it --rm ${YOURCONTAINER_IMAGE} /bin/bash
):
mount | grep myvol
/dev/mapper/host--vg-var on /myvol type ext4 (rw,relatime,data=ordered)
Mountpoint将是您主机上的一个临时Docker-Volume:
de5a4052ac6f48788baf17ed66efa603eb89aa023aac7768688839ec6df7dbec/_data/the_data_within_myvol
运行(docker run -v vol:/myvol myimage
)后,vol
还将创建该卷,并在(/myvol
)下获得容器中的所有文件。
区别在于创建方式(在Dockerfile中或docker run -v
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句