Docker 简单部署 ClickHouse 超详细图文步骤

1、引言

1.1、ClickHouse 简介

ClickHouse 是一款 ** 开源、列式存储、面向 OLAP(在线分析处理)** 的高性能数据库管理系统,由俄罗斯 Yandex 公司于 2016 年正式开源,现由 ClickHouse Inc. 主导开发与维护,采用 Apache 2.0 许可证。它最初为 Yandex.Metrica 网络分析服务设计,核心目标是解决海量数据(PB 级)下实时多维分析的性能瓶颈,目前已广泛应用于数据分析、数据仓库、日志监控、可观测性与 AI 相关场景。

从核心技术来看,ClickHouse 基于MPP(大规模并行处理)架构,数据按列物理存储,配合高压缩算法(LZ4/ZSTD)大幅减少磁盘 I/O 与存储空间;执行查询时采用矢量化执行 + SIMD 指令优化,以数据块(Block)为单位批量计算,充分压榨 CPU 算力,实现亿级数据聚合查询亚秒级响应。它高度兼容标准 SQL,支持 GROUP BY、JOIN、窗口函数等常用语法,学习成本低,同时提供异步多主复制、数据一致性保障与基于角色的权限控制,适合大规模集群部署。

凭借极致的查询性能、优秀的扩展性与低成本存储优势,ClickHouse 已成为全球最流行的实时分析数据库之一,在 DB-Engines 列式数据库分类中长期位居前列,被字节、阿里、腾讯等众多企业采用,支撑各类高并发、低延迟的海量数据分析需求。

1.2、Docker 环境

CentOS7 安装 Docker

1.3、Docker 镜像国内加速

渡渡鸟镜像同步站

2、ClickHouse 安装

2.1、创建 bridge 网络并指定 IP 区间

bash 复制代码
# 创建自定义网络
docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network
 
# 查看已存在网络
docker network ls

2.2、创建数据和配置存放目录

bash 复制代码
# 创建 ClickHouse 数据目录
mkdir -p /home/docker/clickhouse && chmod 777 /home/docker/clickhouse

2.3、下载国内镜像

从渡渡鸟镜像同步站下载国内 ClickHouse 国内镜像

bash 复制代码
# 镜像下载地址
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/clickhouse:25.2.2

# 镜像重新命名
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/clickhouse:25.2.2  docker.io/library/clickhouse:25.2.2

# 镜像重新命名后可以选择删除,根据自己喜好执行
docker rmi swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/clickhouse:25.2.2

2.4、安装并运行 ClickHouse

bash 复制代码
# 启动 ClickHouse
docker run -d \
  --name clickhouse \
  --ulimit nofile=262144:262144 \
  -p 8123:8123 \
  -p 9000:9000 \
  -e CLICKHOUSE_USER=csdn \
  -e CLICKHOUSE_PASSWORD=123456 \
  --restart always \
  docker.io/library/clickhouse:25.2.2

# 在容器 ClickHouse 中开启一个交互模式的终端
docker exec -it clickhouse /bin/bash

2.5、复制 ClickHouse 相关文件

bash 复制代码
# 复制 ClickHouse 数据文件到指定目录
docker cp -a clickhouse:/var/lib/clickhouse/ /home/docker/

# 删除 ClickHouse 容器
docker rm -f clickhouse

2.6、自定义启动 ClickHouse

bash 复制代码
docker run -d \
  --name clickhouse \
  --network woniu_network \
	--ip 172.0.0.90 \
  --ulimit nofile=262144:262144 \
  -p 8123:8123 \
  -p 9000:9000 \
  -e CLICKHOUSE_USER=csdn \
  -e CLICKHOUSE_PASSWORD=123456 \
  -v /home/docker/clickhouse:/var/lib/clickhouse \
  --restart always \
  docker.io/library/clickhouse:25.2.2

3、Tabix 安装

3.1、下载国内镜像

从渡渡鸟镜像同步站下载国内 ClickHouse 国内镜像

bash 复制代码
# 镜像下载地址
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/spoonest/clickhouse-tabix-web-client:latest

# 镜像重新命名
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/spoonest/clickhouse-tabix-web-client:latest  docker.io/spoonest/clickhouse-tabix-web-client:latest

# 镜像重新命名后可以选择删除,根据自己喜好执行
docker rmi swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/spoonest/clickhouse-tabix-web-client:latest

3.2、安装并运行 Tabix

bash 复制代码
# 启动 Tabix
docker run -d \
  --name tabix \
  --network woniu_network \
  --ip 172.0.0.80 \
  -p 8080:80 \
  --restart always \
  docker.io/spoonest/clickhouse-tabix-web-client:latest

# 在容器 tabix 中开启一个交互模式的终端
docker exec -it tabix /bin/bash

# 删除 ClickHouse 容器
docker rm -f tabix

本文教程到此结束,祝愿小伙伴们在编程之旅中能够愉快地探索、学习、成长!

相关推荐
gsls20080827 分钟前
Penpot Docker 部署与 MCP 服务配置文档
运维·docker·容器·原型·penpot
天蓝不会忘记0233 分钟前
k8s集群部署的方法原理
云原生·容器·kubernetes
xrlfreedom2 小时前
大厂 MCP 面试实录:本地 Server 远程化改造中的技术选型与落地实践
docker·json schema·mcp
红球yyds2 小时前
用anisble搭建k8s集群及原理
云原生·容器·kubernetes
艾伦_耶格宇5 小时前
【DOCKER容器实战】-2MySQL
运维·docker·容器
禅口魔心7 小时前
RK3576开发——Docker部署
docker·嵌入式linux
随便做点啥8 小时前
32卡×4090 24GB,Qwen3.8-27B-FP8 集群部署报告
服务器·经验分享·docker·vllm
To_OC15 小时前
跑了3个Docker容器后,我终于搞懂镜像和容器到底啥关系
后端·docker·容器
tryCbest19 小时前
Docker 从零到精通:知识与跨平台使用指南
docker·容器
开始学AI1 天前
Codex2API Docker 使用宿主机代理:OAuth Token 兑换 403 问题排查与解决方案
运维·docker·容器