You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下Docker Run执行cat导出Postgres配置文件失败,求解决

解决Windows下Docker导出Postgres配置文件失败的问题

报错原因

你遇到的问题是Windows下的Git Bash终端会自动将容器内的Unix路径转换为Windows本地路径,导致cat命令错误地去查找Git安装目录下的文件,而非Postgres容器内的目标路径。

解决方案

方案1:使用Windows原生终端执行

直接在PowerShell或CMD(命令提示符)中运行原命令,这两个终端不会对Unix路径做自动转换:

docker run -i --rm postgres cat /usr/share/postgresql/postgresql.conf.sample > my-postgres.conf

方案2:在Git Bash中禁用路径转换

如果必须使用Git Bash,可通过两种方式避免路径解析错误:

  • 给容器内路径添加额外斜杠:
docker run -i --rm postgres cat //usr/share/postgresql/postgresql.conf.sample > my-postgres.conf
  • 临时禁用Git Bash的路径转换功能:
MSYS_NO_PATHCONV=1 docker run -i --rm postgres cat /usr/share/postgresql/postgresql.conf.sample > my-postgres.conf

方案3:使用docker cp命令(更可靠)

docker cp是Docker官方提供的容器与主机间文件复制工具,完全避免路径解析问题,步骤如下:

  1. 启动临时Postgres容器(后台运行):
docker run -d --name temp-postgres postgres
  1. 复制容器内配置文件到主机:
docker cp temp-postgres:/usr/share/postgresql/postgresql.conf.sample my-postgres.conf
  1. 删除临时容器:
docker rm -f temp-postgres

内容的提问来源于stack exchange,提问作者steve stack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 18:39:54