
muxinc/clickhouse-serveryandex/clickhouse-server 是由 Yandex 官方维护的 Docker 镜像,用于快速部署和运行 ClickHouse 列式数据库管理系统(Columnar Database Management System, CDMS)。ClickHouse 专为高性能实时数据分析设计,该镜像提供了预配置的运行环境,支持一键启动 ClickHouse 服务实例,适用于开发、测试及生产环境的数据库部署。
bashdocker pull yandex/clickhouse-server:latest # 拉取最新版 # 或指定版本(如 23.8) docker pull yandex/clickhouse-server:23.8
docker run)bashdocker run -d --name clickhouse-server \ -p 8123:8123 # HTTP 接口端口(用于 SQL 查询) \ -p 9000:9000 # TCP 接口端口(用于 clickhouse-client 连接) \ yandex/clickhouse-server:latest
bashdocker run -d --name clickhouse-server \ --ulimit nofile=262144:262144 # 调整文件描述符限制(ClickHouse 建议) \ -p 8123:8123 \ -p 9000:9000 \ -v /path/on/host/data:/var/lib/clickhouse # 数据持久化目录 \ -v /path/on/host/logs:/var/log/clickhouse-server # 日志目录 \ -v /path/on/host/config:/etc/clickhouse-server/config.d # 自定义配置文件目录 \ -e CLICKHOUSE_PASSWORD=StrongPassword123 # 设置默认用户密码 \ yandex/clickhouse-server:latest
创建 docker-compose.yml:
yamlversion: '3' services: clickhouse-server: image: yandex/clickhouse-server:latest container_name: clickhouse-server restart: always # 自动重启 ports: - "8123:8123" # HTTP 接口 - "9000:9000" # TCP 接口 volumes: - ./data:/var/lib/clickhouse # 数据持久化 - ./logs:/var/log/clickhouse-server # 日志 - ./config:/etc/clickhouse-server/config.d # 自定义配置 environment: - CLICKHOUSE_USER=default # 默认用户名(不可删除) - CLICKHOUSE_PASSWORD=StrongPassword123 # 默认用户密码 - TZ=Asia/Shanghai # 时区设置 ulimits: nofile: soft: 262144 hard: 262144
启动服务:
bashdocker-compose up -d
| 变量名 | 说明 | 默认值 |
|---|---|---|
CLICKHOUSE_CONFIG | 自定义配置文件路径(容器内),覆盖默认配置 | /etc/clickhouse-server/config.xml |
CLICKHOUSE_USER | 默认用户名(仅用于初始化,不可删除 default 用户) | default |
CLICKHOUSE_PASSWORD | 默认用户密码(若不设置,可无密码登录) | 空(无密码) |
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT | 是否允许通过 SQL 管理用户权限(1 启用,0 禁用) | 1(启用) |
TZ | 容器时区(影响日志时间、数据时间字段) | UTC |
| 端口 | 协议 | 用途 |
|---|---|---|
| 8123 | TCP | HTTP 接口(用于 REST API、Web UI 查询) |
| 9000 | TCP | Native 接口(用于 clickhouse-client 连接) |
| 9009 | TCP | 集群节点间通信端口(分布式部署时需开放) |
通过 clickhouse-client(需先安装客户端,或进入容器执行):
bash# 宿主机连接(需安装 clickhouse-client) clickhouse-client --host 127.0.0.1 --port 9000 --user default --password StrongPassword123 # 或进入容器执行 docker exec -it clickhouse-server clickhouse-client --password StrongPassword123
通过 HTTP 接口(curl 或浏览器):
bashcurl "[***]" -d "SELECT 1"
bashdocker logs -f clickhouse-server # 实时查看日志
通过 -v 挂载宿主机目录至容器内 /var/lib/clickhouse(数据目录)和 /var/log/clickhouse-server(日志目录),确保容器重启后数据不丢失。
如需修改 ClickHouse 配置(如内存限制、连接数、集群配置),可通过以下方式:
custom_config.xml),内容示例:
xml<yandex> <max_connections>1000</max_connections> <!-- 最大连接数 --> <max_memory_usage>10G</max_memory_usage> <!-- 单查询最大内存限制 --> </yandex>
/etc/clickhouse-server/config.d/ 目录:
bashdocker run -d --name clickhouse-server \ -v /path/on/host/custom_config.xml:/etc/clickhouse-server/config.d/custom_config.xml \ ...(其他参数)
配置文件将与默认配置合并生效。
vm.max_map_count=262144),并确保磁盘 IO 性能(推荐 SSD)。CLICKHOUSE_PASSWORD 设置强密码,并限制端口访问(如仅允许内网 IP 连接 9000 端口)。remote_servers 参数(通过自定义配置文件),并确保节点间网络互通。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务