Windows部署PostgreSQL Docker容器遇卷路径模式无效错误
Windows下Docker PostgreSQL卷挂载错误解决方法
问题原因
Windows系统的盘符冒号(c:)会被Docker误判为卷权限模式的分隔符(Unix系统中可通过:ro/:rw指定读写模式),导致挂载路径解析错误。
解决方法
方法1:使用WSL兼容的路径格式
将Windows本地路径转换为Docker Desktop支持的Unix风格路径,比如把c:\Users\arunn\Code\data_eng\ny_taxi_postgres_data改为/c/Users/arunn/Code/data_eng/ny_taxi_postgres_data,修改后的完整命令:
docker run -it \ -e POSTGRES_USER="root" \ -e POSTGRES_PASSWORD="root" \ -e POSTGRES_DB="ny_taxi" \ -v /c/Users/arunn/Code/data_eng/ny_taxi_postgres_data:/var/lib/postgresql/data \ -p 5432:5432 \ postgres:13
方法2:用引号包裹挂载参数
将整个卷挂载规则用双引号括起来,避免盘符冒号被误解析:
docker run -it \ -e POSTGRES_USER="root" \ -e POSTGRES_PASSWORD="root" \ -e POSTGRES_DB="ny_taxi" \ -v "c:\Users\arunn\Code\data_eng\ny_taxi_postgres_data:/var/lib/postgresql/data" \ -p 5432:5432 \ postgres:13
方法3:检查Docker文件共享权限
打开Docker Desktop设置 → Resources → File Sharing,确保已勾选C盘,点击Apply & Restart生效。
额外提示
- 如果使用PowerShell执行命令,保留路径中的反斜杠即可;如果用Git Bash等Unix风格终端,建议将反斜杠替换为正斜杠。
内容的提问来源于stack exchange,提问作者abstract
相关产品推荐
相关产品推荐

