我有一个从.sql
命令创建的pg_dump
文件,我希望将其自动插入到Docker容器中的PostgreSQL实例中。我使用volume将.sql
文件安装到docker-entrypoint-initdb.d
目录中。我的Docker YML文件如下所示:
postgres:
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pw
- POSTGRES_DB=db
volumes:
- ./out.sql:/docker-entrypoint-initdb.d/out.sql
image: "postgres:9.6"
由于sql文件已装入
docker-entrypoint-initdb.d
中,因此我希望它在运行docker-compose -f myyml.yml up -d
时自动运行并插入数据。它不执行。但是,当我在容器中运行bash时,我确实看到了.sql
文件。另外,我可以使用类似于psql -U user -a -f out.sql
的命令手动运行文件。为什么在运行docker-compose时它不会自动运行?
最佳答案
因此,经过大量的试验和错误,我意识到我需要删除所有图像和容器并重新启动。我运行了一个docker-compose myyml.yml down
并重新运行,它似乎起作用了。
关于postgresql - Docker Postgres容器中的.sql文件不会自动执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48293519/