Docker在Windows下挂载Nginx容器目录至主机的问题求助
解决Windows下Nginx容器目录挂载问题
核心错误纠正
你之前的命令存在几个关键问题:
- 容器内路径不能用
~/usr/share/nginx/html:容器里的~指向的是容器内root用户的家目录,不是系统路径,必须用绝对路径/usr/share/nginx/html - Windows主机路径格式错误:Docker在Windows下识别路径需要转换格式,不能直接用
C:\xxx的原生格式 - 挂载参数顺序/格式错误:
source对应主机路径,target对应容器内路径,必须匹配正确
正确挂载命令
以下两种写法都可以实现需求,选一种执行即可:
写法1:使用--mount参数
docker container run -d --mount type=bind,source=/c/Users/myname/nginx,target=/usr/share/nginx/html -p 80:80 nginx
写法2:使用更简洁的-v参数
docker container run -d -v /c/Users/myname/nginx:/usr/share/nginx/html -p 80:80 nginx
额外注意事项
- 提前在Windows主机上创建好
C:\Users\myname\nginx文件夹,避免Docker自动创建时出现权限或格式问题 - 打开Docker Desktop,进入
Settings > Resources > File Sharing,确保已经勾选了C盘,否则会出现路径访问权限不足的错误 - 如果主机路径包含空格,一定要用双引号括起来,比如:
docker container run -d -v "/c/Users/my name/nginx:/usr/share/nginx/html" -p 80:80 nginx
内容的提问来源于stack exchange,提问作者Travis Heeter
相关产品推荐
相关产品推荐

