dockerfile指令VOLUME
VOLUME
定义***匿名***数据卷。在启动容器时忘记挂载数据卷,会自动挂载到匿名卷。
作用
- 避免重要的数据,因容器重启而丢失。
- 避免容器不断变大。
- 在开发时,便于开发和调试
格式
# 第一种
VOLUME ["/data", "/data/home"...]
# 第二种
VOLUME /data /data/home
# 第三种 json
VOLUME ["/data/log/"]
VOLUME注意事项官网说明!!!
- 基于 Windows 的容器上的卷:使用基于 Windows 的容器时,容器内卷的目标必须是以下之一:
- 一个不存在或空的目录
- 以外的驱动器
C:
- 从 Dockerfile 中更改卷:如果任何构建步骤在声明卷后更改了卷中的数据,则这些更改将被丢弃。
- JSON 格式:列表被解析为 JSON 数组。您必须用双引号 (
"
) 而不是单引号 ('
) 将单词括起来。 - 主机目录在容器运行时声明:主机目录(挂载点)本质上是依赖于主机的。这是为了保持图像的可移植性,因为不能保证给定的主机目录在所有主机上都可用。因此,您无法从 Dockerfile 中挂载主机目录。该
VOLUME
指令不支持指定host-dir
参数。您必须在创建或运行容器时指定挂载点。