docker 部署 clickhouse server
docker-compose.yml 示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| version: "3.7"
services:
clickhouse-server:
# 默认用户名: default ,密码通过配置文件来设置。
image: yandex/clickhouse-server:latest
# restart: always
ports:
- "8123:8123"
- "9000:9000"
ulimits:
nofile:
soft: 262144
hard: 262144
# 时区的环境变量在该镜像中无效。
#environment:
# TZ: "Asia/Shanghai"
volumes:
- db_data:/var/lib/clickhouse
# 用户自定义配置
- ./users.d:/etc/clickhouse-server/users.d:ro
# 初始脚本
- ./initdb.d:/docker-entrypoint-initdb.d:ro
volumes:
db_data:
|
创建一个 users.d 目录,存放用户自定义配置,示例为配置默认用户的登录密码: default-password.xml
users.d/default-password.xml 示例:
1
2
3
4
5
6
7
| <yandex>
<users>
<default>
<password>123456</password>
</default>
</users>
</yandex>
|
创建一个 initdb.d 目录,存放自定义的初始化脚本。示例为创建一个数据库
initdb.d/init-db.sh 示例:
1
2
3
4
5
6
| #!/bin/bash
set -e
clickhouse client --password 123456 -n <<-EOSQL
CREATE DATABASE IF NOT EXISTS my_database;
EOSQL
|