宿主机存储位置: 由你自己指定的任何有效路径(如 /home/user/app:/app)
创建方式:
1、docker run -v /host/path:/container/path ...
2、docker run --mount type=bind,source=/host/path,target=/container/path ...
生命周期:
完全依赖于宿主机上的文件或目录。删除容器对宿主机文件毫无影响。
其存在与否由用户直接在宿主机上管理。
特点与场景:
双向同步:宿主机和容器任何一方的修改都会立即反映在另一方。
开发环境神器:将本地代码目录挂载到容器中,无需重新构建镜像即可测试代码更改。
挂载配置文件(如 -v ./my.cnf:/etc/mysql/conf.d/custom.cnf)。
挂载 Docker Socket(如 -v /var/run/docker.sock:/var/run/docker.sock),用于在容器内控制 Docker 守护进程。
示例:
# docker-compose.yml
services:
web_app:
image: node:18
working_dir: /app
volumes:
- ./src:/app/src # 将当前目录下的 src 文件夹绑定到容器的 /app/src
- ./config.json:/app/config.json # 绑定 绑定单个配置文件