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

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

相关推荐
donoot12 小时前
一次 Nginx 502 问题的深度排查:从 SELinux 到容器网络
nginx·docker·selinux·反向代理·502 bad gateway
Sagittarius_A*14 小时前
Docker:渗透前置容器化核心基础
运维·安全·docker·容器
SelectDB技术团队16 小时前
Agent 场景动态 JSON 性能拆解:Apache Doris 比 ClickHouse 快 7 倍、比 Elasticsearch 快 2 倍
数据库·clickhouse·elasticsearch·json·apache·日志分析·apache doris
名字还没想好☜17 小时前
Docker 多阶段构建:把镜像从 1.2GB 砍到 15MB
运维·docker·容器·多阶段构建·镜像优化
花和满楼17 小时前
K8s 1.36 ImageVolume GA:OCI 镜像不再只能跑容器
java·容器·kubernetes
生活爱好者!18 小时前
NAS还能玩游戏?部署一款 WebGL 3D 赛车小游戏
游戏·docker·容器·玩游戏
曦月合一18 小时前
本地电脑部署docker,及各种组件(nginx、mysql、redis、mongo、minio、java)
docker·windows10 专业版
hj28625119 小时前
Docker 核心知识点整理(网络 + Dockerfile + 原理 + 命令)
网络·docker·容器
梦想的颜色1 天前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
万里侯1 天前
GitOps 漂移检测:集群里改了配置,Git 还以为一切正常
微服务·容器·k8s