Dockerfile中的VOLUME指令的目的是什么?

尚恩

在文档中它说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 myimagevol还将创建该卷,并在(/myvol下获得容器中的所有文件

区别在于创建方式(在Dockerfile中或docker run -v)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章