[英]docker faild to restore postgres backup
我正在尝试使用docker创建和还原postgres备份。 码头工人未能做到这一点,并给我以下错误:
/usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
dockerfile:
FROM postgres:11
ENV POSTGRES_USER postgres
ENV POSTGRES_PASSWORD postgres
ENV POSTGRES_DB dbName
COPY backup.backup /
COPY initdb.sh /docker-entrypoint-initdb.d
initdb.sh:
pg_restore --username=postgres --create --exit-on-error --verbose --dbname=dbName backup.backup
泊坞窗,compose.yml:
version: '2'
services:
db:
image: postgres:11
expose:
- "5432"
ports:
- "15432:5432"
volumes:
- dock-volume:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD= postgres
- POSTGRES_DB= dbName
volumes:
dock-volume:
我试图将环境变量添加到docker-compose.yml中,但没有帮助。
您不应该为Postgres创建Dockerfile
,因为您已经在Dockercompose
文件中有了定义。 您在environment
下定义的变量在Postgres内部可见。 如果要备份并确保在初始化时正在运行,可以执行以下操作:
volumes:
- ~/Downloads/data/my_buckup.psql:/docker-entrypoint-initdb.d/stage.sql
然后,当Postgres初始化时,将运行此脚本。 您可以在How to extend this image
部分下的此处查看文档。
我希望这是有道理的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.