Docker 安装 ClickHouse 教程
创建目录
首先,创建必要的目录用于存放 ClickHouse 的配置、数据和日志文件。
bash
mkdir -p /home/clickhouse/conf
mkdir -p /home/clickhouse/data
mkdir -p /home/clickhouse/log
chmod -R 777 /home/clickhouse/conf
chmod -R 777 /home/clickhouse/data
chmod -R 777 /home/clickhouse/log
拉取 ClickHouse 镜像
使用 Docker 拉取最新的 ClickHouse 镜像。
bash
docker pull yandex/clickhouse-server:latest
创建临时容器
创建一个临时容器以便于复制其配置文件。
bash
docker run --rm -d --name=clickhouse-server \
--ulimit nofile=262144:262144 \
-p 8123:8123 -p 9009:9009 -p 9000:9000 \
yandex/clickhouse-server:latest
复制配置文件
将容器内的配置文件复制到宿主机的指定目录。
bash
docker cp clickhouse-server:/etc/clickhouse-server/config.xml /home/clickhouse/conf/config.xml
docker cp clickhouse-server:/etc/clickhouse-server/users.xml /home/clickhouse/conf/users.xml
停止临时容器
停止并移除临时容器。
bash
docker stop clickhouse-server
docker rm clickhouse-server
生成密码
随机生成密码及对应的 SHA256 加密密码。
bash
PASSWORD=$(base64 < /dev/urandom | head -c8)
echo "$PASSWORD"
echo -n "$PASSWORD" | sha256sum | tr -d '-'
修改密码
编辑 /home/clickhouse/conf/users.xml
文件,将生成的 SHA256 密码替换到 <password_sha256_hex>
标签内。
启动 ClickHouse 容器
使用以下命令启动 ClickHouse 容器。
bash
docker run -d --name=clickhouse-server \
-p 8123:8123 -p 9009:9009 -p 9000:9000 \
--ulimit nofile=262144:262144 \
-v /home/clickhouse/data:/var/lib/clickhouse:rw \
-v /home/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \
-v /home/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \
-v /home/clickhouse/log:/var/log/clickhouse-server:rw \
yandex/clickhouse-server:latest
连接 ClickHouse
使用 DBeaver 或其他 ClickHouse 客户端连接到 ClickHouse 服务器。