使用Docker时提示invalid reference format错误是什么原因?
问题原因排查与解决
核心报错原因
docker: invalid reference format报错的根本原因是PowerShell不识别Linux Shell风格的当前路径变量语法$(pwd),Docker解析命令时无法正常识别挂载路径参数,误将异常参数判定为格式非法的镜像引用。
正确执行方案
可选择以下任意一种方式修改命令:
方案1:使用PowerShell原生当前路径变量
将$(pwd)替换为PowerShell支持的${PWD},命令如下:
docker run --name some-nginx -v ${PWD}:/usr/share/nginx/html:ro -d -p 8080:80 nginx
方案2:直接传入绝对路径
如果本地路径包含空格、中文等特殊字符,建议直接填写要挂载的文件夹绝对路径,用引号包裹避免解析错误,示例:
docker run --name some-nginx -v "C:\your\local\folder\path":/usr/share/nginx/html:ro -d -p 8080:80 nginx
额外注意事项
- 若修改命令后仍有权限类报错,需要打开Docker Desktop设置,在
Resources -> File Sharing中勾选本地文件夹所在的盘符,应用设置并重启Docker后再执行命令 - 执行命令前可运行
pwd确认PowerShell当前工作路径和你要挂载的本地文件夹路径一致
内容的提问来源于stack exchange,提问作者Batoot
相关产品推荐
相关产品推荐

