如何让Docker中的PgAdmin访问本地备份文件导入PostgreSQL数据库
解决方案:通过卷映射让Docker中的PgAdmin访问本地备份文件
完全可以通过添加卷映射实现需求,下面是具体配置修改和操作流程:
一、修改docker-compose.yml配置
找到pgadmin服务段,添加volumes配置项,将本地存放PostgreSQL备份SQL文件的目录挂载到PgAdmin容器内的指定路径。比如假设你的备份文件放在C:/profitional/nanomedicine/backups,修改后的pgadmin服务配置如下:
pgadmin: container_name: pgadmin4_container image: dpage/pgadmin4 restart: always environment: PGADMIN_DEFAULT_EMAIL: admin@admin.com PGADMIN_DEFAULT_PASSWORD: **** ports: - 5050:80 networks: - shared-network depends_on: - postgres volumes: # 本地备份目录 -> 容器内目录 - C:/profitional/nanomedicine/backups:/backups
说明:你可以根据实际备份文件的存放路径调整本地目录,容器内的/backups路径可自定义,只要记住这个路径即可。
二、具体操作流程
重启PgAdmin容器
执行以下命令重启服务,让卷映射生效:docker-compose up -d --force-recreate pgadmin或者需要重启所有服务的话,直接运行:
docker-compose up -d登录PgAdmin并连接数据库
- 打开浏览器访问
http://localhost:5050,用配置里的邮箱和密码登录。 - 在PgAdmin界面中,右键左侧的
Servers->Register->Server,填写连接信息:- 名称自定义,比如
Nanomedicine DB - 切换到
Connection标签页,主机名填postgres(同网络下容器可直接用服务名访问),端口5432,用户名postgres,密码填配置中的密码,数据库名nanomedicine_db,点击保存。
- 名称自定义,比如
- 打开浏览器访问
导入备份文件
- 连接成功后,展开左侧服务器,找到目标数据库
nanomedicine_db,右键点击 ->Restore。 - 在弹出的恢复窗口中,切换到
File Options标签页,点击...按钮选择文件。 - 在文件选择器中找到容器内的
/backups目录,选中你的SQL备份文件,点击Select。 - 保持其他默认配置,点击
Restore按钮,等待数据导入完成即可。
- 连接成功后,展开左侧服务器,找到目标数据库
内容的提问来源于stack exchange,提问作者Nithin_Kamineni
相关产品推荐
相关产品推荐

