部署
拉取镜像
# 拉取 server 镜像
$ docker pull clickhouse/clickhouse-server:21.12.3
# 拉取 client 镜像
$ docker pull clickhouse/clickhouse-client:21.12.3
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
clickhouse/clickhouse-client 21.12.3 8208fbe345cd 3 months ago 805MB
clickhouse/clickhouse-server 21.12.3 d846490c0466 3 months ago 794MB
调整配置文件
$ mkdir -p /home/www/clickhouse
$ cd /home/www/clickhouse
复制配置文件模板
$ mkdir config data log
# 启动一个临时的容器
$ docker run -d --name temp-clickhouse-server -p 8123:8123 --ulimit nofile=262144:262144 clickhouse/clickhouse-server:21.12.3
$ echo 'SELECT version()' | curl 'http://127.0.0.1:8123/' --data-binary @-
20.12.3.3
# 拷贝配置文件模板
$ docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml config/config.xml
$ docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml config/users.xml
$ tree
.
├── config
│ ├── config.xml
│ └── users.xml
├── data
└── log
3 directories, 2 files
# 停止及销毁临时的容器
$ docker stop temp-clickhouse-server
$ docker rm temp-clickhouse-server
创建账号
$ echo "default"; echo -n "default" | sha256sum | tr -d '-'
default
37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f
调整 users.xml
添加刚才创建的 default 及 root 账号
$ vim config/users.xml
<users>
<default>
<password_sha256_hex>37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f</password_sha256_hex>
<networks>
<ip>::/0</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
</default>
<users>
调整 config.xml
监听所有地址
$ vim config/config.xml
<listen_host>0.0.0.0</listen_host>
运行 ClickHouse 服务
# 启动服务
$ docker run -d \
--name=single-clickhouse-server \
-p 8123:8123 -p 9000:9000 -p 9009:9009 \
--ulimit nofile=262144:262144 \
-v $PWD/data:/var/lib/clickhouse:rw \
-v $PWD/config:/etc/clickhouse-server:rw \
-v $PWD/log:/var/log/clickhouse-server:rw \
clickhouse/clickhouse-server:21.12.3
客户端连接
$ docker run -it --rm --link single-clickhouse-server:clickhouse-server clickhouse/clickhouse-client:21.12.3 --host clickhouse-server -u default --password default
ClickHouse client version 21.12.3.32 (official build).
Connecting to clickhouse-server:9000 as user default.
Connected to ClickHouse server version 21.12.3 revision 54452.
1aa60a1ed24f :) select 1;
SELECT 1
Query id: 7b0bb6c0-6e6a-406d-95f7-e34f70579321
┌─1─┐
│ 1 │
└───┘
1 rows in set. Elapsed: 0.003 sec.
1aa60a1ed24f :) select version();
SELECT version()
Query id: 28bdd06c-a653-4737-9c95-04718742365e
┌─version()──┐
│ 21.12.3.32 │
└────────────┘
1 rows in set. Elapsed: 0.002 sec.
1aa60a1ed24f :)
参考
- https://hub.docker.com/r/clickhouse/clickhouse-server
- https://hub.docker.com/r/clickhouse/clickhouse-client