从官方Dockerfile构建PostgreSQL Docker镜像失败求助
解决PostgreSQL官方Dockerfile构建失败的问题
问题根源
你只单独下载了官方的Dockerfile,但这个Dockerfile依赖同仓库里的docker-entrypoint.sh、docker-healthcheck.sh等配套脚本,缺少这些文件就会导致COPY步骤找不到目标文件,触发缓存键计算失败的错误。
解决步骤
- 完整获取构建所需文件:不要只拿单个Dockerfile,二选一操作即可:
- 克隆官方postgres镜像仓库的对应版本目录:
git clone --depth 1 https://github.com/docker-library/postgres.git cd postgres/13/bullseye - 手动从官方仓库的13/bullseye目录下,把
docker-entrypoint.sh、docker-healthcheck.sh这两个关键脚本下载到和Dockerfile同一文件夹里。
- 克隆官方postgres镜像仓库的对应版本目录:
- 重新执行构建:在包含所有文件的目录下运行:
sudo docker build -t pg13:org .
额外注意事项
- 如果你是在Windows和Ubuntu的共享目录里构建,可能会有文件权限或同步问题,建议把所有文件复制到Ubuntu本地的非共享目录(比如
~/pg-build)后再执行构建。 - 确认
docker build命令的当前工作目录就是存放Dockerfile和脚本的目录,Docker只会从这个目录(构建上下文)里读取文件。
内容的提问来源于stack exchange,提问作者Ihmon
相关产品推荐
相关产品推荐

