VOLUME
VOLUME ["/data"]
VOLUME
指令创建了一个有特定名字的挂载点,并且标记他为本地主机或者其他容器的一个挂载卷。值可以是 一个JSON数组,VOLUME ["/var/log/"]
,或者一个拥有多个参数的特定字符串,就像VOLUME /var/log
或者VOLUME /var/log /var/db
。如果想获得更多的信息/例子和通过Docker client的挂载命令,请看使用数据卷共享目录文档。
docker run
命令会使用存在于特定位置的 任何数据来初始化新创建的数据卷。例如,考虑下面这个Dockerfile:
FROM ubuntu
RUN mkdir /myvol
RUN echo "hello world" > /myvol/greeting
VOLUME /myvol
使用docker run
指令运行这个的结果,会创建一个新的挂载点在/myvol
并且会复制greeting
文件到新创建的数据卷当中。
注意:当使用Windows的容器时,容器的数据卷的指定目录必须是下面中的一个:一个不存在的目录或者一个空目录;或者一个不是C:盘下的目录。
注意:如果任何构建步骤在声明之后更改卷中的数据,那么这些更改将被丢弃。
注意:列表被解析为JSON数组,这意味着您必须在单词周围使用双引号(“)而不是单引号(')。