在文档中它说 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
):Mountpoint 将是您主机上的临时 Docker-Volume:
运行 (
docker run -v vol:/myvol myimage
)后,vol
还将创建卷并在 ( ) 下获取容器中的所有文件/myvol
。不同之处在于您创建它的方式(在 Dockerfile 中或使用
docker run -v
)。