ClickHouse 是一款开源的列式数据库管理系统(columnar DBMS),专为在线分析处理(OLAP)设计,支持用户通过 SQL 实时生成分析报告。
ClickHouse 比传统数据库管理系统快 100 到 1000 倍,单服务器每秒可处理数亿至十亿行数据、数十 GB 数据量。其可靠性、易用性和容错能力广受全球用户认可。
更多信息和文档见 [***]。
latest:指向最新稳定分支的最新版本。22.2):指向对应分支的最新版本。22.2.3、22.2.3.5):指向具体版本。head:基于默认分支的最新提交构建。-alpine 后缀,表示基于 alpine 系统构建。ubuntu:22.04 构建,需 Docker 版本 ≥20.10.10(含 补丁)。若版本不足,可使用 docker run --security-opt seccomp=unconfined 作为临时方案,但存在安全风险。bashdocker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server
默认情况下,ClickHouse 仅通过 Docker 内部网络访问(见下文“网络配置”部分)。服务默认以 default 用户启动,无密码。
bash# 方法一:使用容器网络 docker run -it --rm --network=container:some-clickhouse-server --entrypoint clickhouse-client clickhouse/clickhouse-server # 方法二:直接在容器内执行客户端 docker exec -it some-clickhouse-server clickhouse-client
更多关于 ClickHouse 客户端 的说明。
bashecho "SELECT 'Hello, ClickHouse!'" | docker run -i --rm --network=container:some-clickhouse-server buildpack-deps:curl curl '[***]' -s --data-binary @-
更多关于 ClickHouse HTTP 接口 的说明。
bashdocker stop some-clickhouse-server # 停止服务 docker rm some-clickhouse-server # 删除容器
⚠️ 注意:预定义用户
default默认没有网络访问权限,除非设置密码(见下文“启动时创建默认数据库和用户”及“管理default用户”部分)。
如需对外暴露服务,可通过 端口映射 将容器内端口映射到主机:
bash# 映射 HTTP 端口(8123)和原生客户端端口(9000),并设置密码 docker run -d -p ***:8123 -p ***:9000 -e CLICKHOUSE_PASSWORD=changeme --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server # 测试连接(通过主机端口 ***) echo 'SELECT version()' | curl '[***]' --data-binary @-
也可通过 --network=host 直接使用主机网络(性能更优):
bashdocker run -d --network=host --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server echo 'SELECT version()' | curl '[***]' --data-binary @- # 直接访问主机 8123 端口
容器暴露 8123 端口(HTTP 接口)和 9000 端口(原生客户端接口)。配置文件为 config.xml(文档)。
bash# 将本地配置文件挂载到容器内 docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -v /path/to/your/config.xml:/etc/clickhouse-server/config.xml clickhouse/clickhouse-server
bash# 当前目录下的 data/clickhouse 和 logs/clickhouse 需存在且归当前用户所有 docker run --rm --user "${UID}:${GID}" --name some-clickhouse-server --ulimit nofile=262144:262144 \ -v "$PWD/logs/clickhouse:/var/log/clickhouse-server" \ -v "$PWD/data/clickhouse:/var/lib/clickhouse" \ clickhouse/clickhouse-server
挂载本地目录时,需通过 --user 指定用户 ID 和组 ID,确保文件权限正确(否则服务无法启动)。
bashdocker run --rm -e CLICKHOUSE_RUN_AS_ROOT=1 --name clickhouse-server-userns \ -v "$PWD/logs/clickhouse:/var/log/clickhouse-server" \ -v "$PWD/data/clickhouse:/var/lib/clickhouse" \ clickhouse/clickhouse-server
可通过环境变量创建数据库和用户(默认使用 default 用户):
| 环境变量 | 说明 |
|---|---|
CLICKHOUSE_DB | 自动创建的数据库名 |
CLICKHOUSE_USER | 用户名(默认 default) |
CLICKHOUSE_PASSWORD | 用户密码 |
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT | 是否开启默认权限管理(设为 1 启用) |
示例:
bashdocker run --rm -e CLICKHOUSE_DB=my_database -e CLICKHOUSE_USER=username -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 -e CLICKHOUSE_PASSWORD=password -p 9000:9000/tcp clickhouse/clickhouse-server
default 用户若未设置 CLICKHOUSE_USER、CLICKHOUSE_PASSWORD 或 CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT,default 用户默认禁用网络访问。如需 不安全地开放 default 用户访问,可设置 CLICKHOUSE_SKIP_USER_SETUP=1:
bashdocker run --rm -e CLICKHOUSE_SKIP_USER_SETUP=1 -p 9000:9000/tcp clickhouse/clickhouse-server
如需基于此镜像添加初始化操作,可在 /docker-entrypoint-initdb.d 目录下添加 *.sql、*.sql.gz 或 *.sh 脚本。服务启动时,入口脚本会按顺序执行这些脚本(SQL 文件直接运行,.sh 文件需可执行)。
可通过 CLICKHOUSE_USER 和 CLICKHOUSE_PASSWORD 环境变量指定初始化时使用的客户端账号。
示例:创建数据库和表(添加脚本 /docker-entrypoint-initdb.d/init-db.sh):
bash#!/bin/bash set -e # 通过客户端执行 SQL clickhouse client -n <<-EOSQL CREATE DATABASE docker; CREATE TABLE docker.docker (x Int32) ENGINE = Log; EOSQL
查看镜像中软件的 许可证信息。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429