如何连接到本地Clickhouse DB表单容器?

时间:2020-07-27 19:46:37

标签: docker clickhouse

我开始研究Docker并遇到了一些问题。我使用Ubuntu,并且具有本地Clickhouse数据库,也在容器中编写了脚本,该脚本想在db中写入一些数据:

clickhouse-client --host=127.0.0.1 --port=8123 --password=password --query "INSERT INTO some.table FORMAT CSV"

当我打轮胎时,得到了:

Code: 210. DB::NetException: Connection refused (127.0.0.1:8123)

当我尝试连接DataGrip时,它就可以工作。我也用--network="host"运行docker。 我在做什么错了?

2 个答案:

答案 0 :(得分:0)

clickhouse-client使用端口9000,因为它通过本机tcp协议工作

jdbc使用http端口8123

您可以将端口从contanier映射到主机系统(-p 127.0.0.1:8123:8123):

docker run  -d -p 127.0.0.1:8123:8123 -p 127.0.0.1:9000:9000 --name jdbc-test --ulimit nofile=262144:262144 yandex/clickhouse-server:latest

答案 1 :(得分:0)

DataGrip使用8123端口上的HTTP端点连接到ClickHouse。

ClickHouse客户端在端口9000上使用TCP端点。

似乎需要发布端口9000:

docker run -d --name ch -p 8123:8123 -p 9000:9000 --ulimit nofile=262144:262144 yandex/clickhouse-server