提问人:itehnoviking 提问时间:11/2/2023 更新时间:11/2/2023 访问量:37
如何将pg Admin 4连接到部署在Docker容器中的PostgreSQL
How to connect pg Admin 4 to PostgreSQL which is deployed in a Docker container
问:
我创建了一个 ASP.NET Core 应用程序。此应用程序允许您通过 Entity Framework Core ORM 使用 PostgreSQL 数据库。在本地数据库上一切正常。当我尝试创建 docker 应用程序容器和数据库时,问题就开始了。这是我的docker-compose文件:
version: '3.4'
services:
naladimbot:
image: ${DOCKER_REGISTRY-}naladimbot
build:
context: .
dockerfile: NaladimBot/Dockerfile
ports:
- "80:80"
depends_on:
- db
networks:
- mynetwork
db:
image: postgres:latest
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: 23r2323ffsedsEGDS#%23EAF
POSTGRES_DB: NaladimBot.Database
volumes:
- db:/var/lib/postgresql/
networks:
- mynetwork
volumes:
db:
networks:
mynetwork:
driver: bridge
这是我在文件 appsettings.json 中的连接字符串:
"ConnectionStrings": {
"DefaultConnection": "Server=db;Port=5432;Username=postgres;Password=23r2323ffsedsEGDS#%23EAF;Database=NaladimBot.Database;"
}
问题是这样的:当我在docker-compose模式下构建我的应用程序时,一切正常。Docker Desktop 引入了应用程序容器和数据库。
但是当我尝试通过 pg Admin 4(我也在 Docker 中创建的容器)连接到数据库时 - 什么也没发生。Docker 建议进行连接,但它不起作用。http://localhost:5432/
此外,我尝试了 0.0.0.0 , 172.18.0.1 , 172.18.0.2 而不是 localhost - 结果保持不变。
可能是什么问题?
答:
2赞
Mohamed El Hadramy Oumar
11/2/2023
#1
这里的服务器指的是运行 PgAdmin 的容器,没有运行它的 postgres。localhost
当您尝试连接时用作主机,因为它们都在同一网络上。db
mynetwork
评论