在adminer中使用docker,我看不到导入的数据



我用postgres和adminer创建了docker容器,并提供了选项:

lprods_db:
image: postgres:9.6.10-alpine
ports:
- '5433:5432'
restart: always
environment: 
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: '1'
POSTGRES_DB: 'wprods'
volumes:
- ./init:/docker-entrypoint-initdb.d/

lprods_adminer:
image: adminer
restart: always
ports:
- 8083:8080
links:
- lprods_db

我需要将转储上传到我的lprods_db实例的wprods-db中我在操作系统的控制台上运行:

cat  /mnt/_work_sdb8/wwwroot/lar/lprods/__SQL/wprods_2017_10_23.sql   | docker exec -i   lprods_docker_lprods_db_1    psql -Upostgres

其中/mnt/_work_sdb8/wwwroot/lprods/__SQL/wrods_2017_10_23Sql是我的操作系统路径中的SQL转储和lprods_docker_lrods_db_1-db容器

我看到postgres导入数据的命令输出很长,没有错误,比如:

CREATE INDEX
ALTER TABLE
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
ALTER TABLE
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
REVOKE
REVOKE
GRANT
GRANT

通过在打开管理员http://127.0.0.1:8083/在指定的数据库中找不到任何表:https://i.stack.imgur.com/wLWVT.jpg我原以为我的数据会被导入wprods.public。是这样吗?怎么了?

这里是否可以使用某些FLUSH命令?

谢谢!

您的docker-compose.yml和您使用的命令似乎完全正确-我在第一次尝试时就启动了一切。

这里唯一的缺陷是pg_dump的输出对数据库名称一无所知。来自文档:

脚本转储是包含SQL命令的纯文本文件需要重建数据库

因此,当您通过psql恢复它时,您需要显式指定目标数据库名称,在您的情况下,命令看起来像

cat /mnt/_work_sdb8/wwwroot/lar/lprods/__SQL/wprods_2017_10_23.sql | docker exec -i lprods_docker_lprods_db_1 psql -Upostgres wprods

否则,您将填充默认的postgres数据库

最新更新