我已经配置了生产postgres sql数据库。 如果我需要进行调试工作,则不希望与生产数据库进行交互,否则会影响用户群。相反,我需要创建一个本地环境,以便在调试期间不会在生产数据库中更改任何内容。
我正在使用Postgres SQL 10和PGAdmin 4
我该如何实现?
谢谢。
答案 0 :(得分:0)
您可以使用docker设置测试环境。
首先是一个docker-compose.yml文件:
version: "3"
services:
db:
image: postgres:10-alpine
volumes:
- ./local_path:/var/lib/postgresql/data
ports:
- "8000:5432"
expose:
- "5432"
admin:
image: dpage/pgadmin4
environment:
- PGADMIN_DEFAULT_EMAIL=admin@admin.com
- PGADMIN_DEFAULT_PASSWORD=admin
ports:
- "8080:80"
有关如何设置环境变量以定义用户/密码/数据库名称的信息,请参阅docker postgres图像的文档。 https://hub.docker.com/_/postgres/
我对pgadmin不太熟悉,但是容器具有最少的设置选项: https://hub.docker.com/r/dpage/pgadmin4/
然后使用sudo docker-compose up
启动容器。
db容器正在主机上的8000上发布其端口,因此应该与主机上运行的postgres服务器没有冲突。
要连接:
psql -h localhost -p 8000 -U postgres
管理员页面应该在主机上的端口8080处可用。
当您将admin连接到UI中的数据库时,主机名是db
,端口是5432
现在您已经设置了docker容器,您也可以考虑将其用于生产:)