格式为:
VOLUME ["<路径1>", "<路径2>"...]VOLUME <路径>
之前我们说过,容器运行时应该尽量保持容器存储层不发生写操作,对于数据库类需要保存动态数据的应用,其数据库文件应该保存于卷(volume)中,后面的章节我们会进一步介绍 Docker 卷的概念。为了防止运行时用户忘记将动态文件所保存目录挂载为卷,在 Dockerfile 中,我们可以事先指定某些目录挂载为匿名卷,这样在运行时如果用户不指定挂载,其应用也可以正常运行,不会向容器存储层写入大量数据。
VOLUME /data
这里的 /data 目录就会在容器运行时自动挂载为匿名卷,任何向 /data 中写入的信息都不会记录进容器存储层,从而保证了容器存储层的无状态化。当然,运行容器时可以覆盖这个挂载设置。比如:
$ docker run -d -v mydata:/data xxxx
在这行命令中,就使用了 mydata 这个命名卷挂载到了 /data 这个位置,替代了 Dockerfile 中定义的匿名卷的挂载配置。
📂 分类导航
-
▶
学与练
- ▶ 软件技术基础
- ▶ 前端开发技术
-
▶
后端开发技术
- ▶ 编程语言
- ▶ 中间件
-
▶
数据库
- MySQL
- SQLServer
- ▶ Dameng
- clickhouse
- Duckdb
-
▶
数据开发与运维
- ▶ 数据开发
-
▶
运维开发
- ▶ CI/CD
- ▶ 自动化
- ▶ 日志处理
- ▶ 监控
- 软件入门教程
- ▶ 课程库
-
▶
软件园
- AI智能体与应用
- ▶ 开发工具与环境
- AI 开发和编排
- 业务与生产力应用
- 数据和中间件
- ▶ 工具箱