Bind Mount 是将宿主机绝对路径直接映射到容器指定路径的挂载方式,需提前创建宿主机目录、注意权限与路径正确性,支持读写(默认)或只读(:ro)模式,挂载后容器内原路径内容被覆盖,且文件修改实时双向同步。

直接用 -v 参数把宿主机目录映射进容器,是最常用也最直观的方式。关键不是“能不能挂”,而是路径对不对、权限够不够、挂完能不能用。
必须用绝对路径,且宿主机目录得提前存在
Docker 不会为你自动创建深层嵌套的宿主机目录(尤其新版本),比如想挂 /opt/nginx/conf,就得先 mkdir -p /opt/nginx/conf,再放好 nginx.conf 和 conf.d/ 里的文件。Windows 用户注意:路径写成 C:/mydata,不能用反斜杠 \,也不能漏掉驱动器盘符。
挂载命令要写清楚源和目标
比如把本地 /opt/app/config 挂到容器里 /app/config,只读运行:
docker run -d \ --name my-app \ -v /opt/app/config:/app/config:ro \ my-image:latest
冒号前是宿主机路径,中间是容器内路径,:ro 表示只读——配置类文件强烈建议加这个,避免容器内程序误删或改乱。
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
挂载后容器内路径内容会被完全覆盖
一旦挂载生效,容器原本在 /app/config 下自带的文件就看不到了,全部以宿主机目录内容为准。所以别挂错位置(比如把单个 .conf 文件挂到 /etc/nginx 根目录,会把 mime.types 等必需文件盖掉)。
验证是否挂成功
运行后执行:
docker inspect my-app | jq '.[0].Mounts'
或者进容器看看:
docker exec -it my-app ls -l /app/config
如果能看到宿主机里的文件,说明挂载已生效。
修改宿主机文件,容器内立刻可见
Bind Mount 是实时双向同步的(除非加了 :delegated 等缓存选项)。但注意:Nginx、Redis 这类服务不会自动重读配置,得手动触发重载,比如 docker exec my-app nginx -s reload。

















