我在Crate DB上有一个数据库。数据库程序通过docker-compose.yml
文件启动。它运行在http://192.168.99.100:4200(这是具有板条箱端口的docker机器的IP)
我想将Crate DB与Power BI连接起来。当我尝试配置PostgreSQL ODBC驱动程序时,我不知道在“服务器”字段中键入什么。
到目前为止,我已经尝试过“ localhost
”,“ 127.0.0.1
”,“ 0.0.0.0
”,“ 192.168.99.100
”,但是这些都不起作用。
所以我的问题是,我应该在“服务器”字段中键入哪个IP地址?
答案 0 :(得分:1)
设置似乎正确。确保端口5432
已正确发布。假设您使用的是官方cratedb image,则Dockerfile中用于组装映像的裸露端口如下:
# http: 4200 tcp
# transport: 4300 tcp
# postgres protocol ports: 5432 tcp
EXPOSE 4200 4300 5432
因此,为了远程访问这些服务,您必须发布它们的相应端口。如果尚未配置,请在docker-compose.yml
中配置端口映射:
version: "3.5"
services:
cratedb:
image: crate
ports:
- 5432:5432
- 4200:4200
- 4300:4300
Compose file reference的端口部分中有关端口映射的更多信息。现在,您应该能够使用ODBC PostgreSql
驱动程序连接到主机的IP地址(即192.168.99.100
)和端口5432
。
或者,您可以使用端口绑定运行容器:
docker run -d -p 4200:4200 -p 5432:5432 -p 4300:4300 crate
如果仍然可以连接到数据库,请检查防火墙设置。