首页 > 解决方案 > 如何连接到本地 clickhouse db 表单容器?

问题描述

我开始研究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". 我究竟做错了什么?

标签: dockerclickhouse

解决方案


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

jdbc 使用 http 端口 8123

您可以将端口从容器映射到您的主机系统(-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

推荐阅读