当前位置: 首页 > news >正文

Docker部署ClickHouse时序数据库

目录

一、拉取 ClickHouse 镜像

二、快速启动(体验版)

三、进入容器

四、测试SQL

五、浏览器访问

六、数据持久化(推荐)

七、设置用户名密码(推荐)

八、使用 Docker Compose(推荐)

九、连接方式

使用客户端

使用数据库工具

十、常用 Docker 命令


一、拉取 ClickHouse 镜像

官方镜像:

docker pull clickhouse/clickhouse-server:latest

查看镜像:

docker images

应该看到类似:

clickhouse/clickhouse-server latest

二、快速启动(体验版)

docker run -d \ --name clickhouse \ -p 8123:8123 \ -p 9000:9000 \ clickhouse/clickhouse-server:latest

指定密码启动

docker run -d \ --name clickhouse \ -p 8123:8123 \ -p 9000:9000 \ -e CLICKHOUSE_USER=default \ -e CLICKHOUSE_PASSWORD=123456 \ -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \ clickhouse/clickhouse-server:latest

参数说明:

参数说明
8123HTTP接口
9000Native TCP接口
--name容器名称

查看容器:

docker ps

输出类似:

CONTAINER ID
clickhouse
0.0.0.0:8123->8123
0.0.0.0:9000->9000

三、进入容器

docker exec -it clickhouse bash

进入后执行:

clickhouse-client

看到:

:)

说明安装成功

四、测试SQL

创建数据库:

CREATE DATABASE test;

查看数据库:

SHOW DATABASES;

创建表:

CREATE TABLE test.user ( id UInt64, name String, create_time DateTime ) ENGINE = MergeTree ORDER BY id;
CREATE TABLE IF NOT EXISTS monitor_his_data ( `_ts` DateTime64(3), `business_id` String, `data_dimension_type` UInt16, `data_type_point` LowCardinality(String), `value` String ) ENGINE = MergeTree PARTITION BY toYYYYMM(`_ts`) ORDER BY (`business_id`, `data_dimension_type`, `data_type_point`, `_ts`) SETTINGS index_granularity = 8192; CREATE TABLE IF NOT EXISTS monitor_his_accumulate_data ( `_ts` DateTime64(3), `business_id` String, `data_dimension_type` UInt16, `data_type_point` LowCardinality(String), `time_dimension` UInt8, `value` Decimal(38, 10) ) ENGINE = MergeTree PARTITION BY toYYYYMM(`_ts`) ORDER BY (`business_id`, `data_dimension_type`, `data_type_point`, `time_dimension`, `_ts`) SETTINGS index_granularity = 8192;

插入数据:

INSERT INTO test.user VALUES (1,'Tom',now()), (2,'Lucy',now());

查询:

SELECT * FROM test.user;

结果:

1 Tom
2 Lucy

五、浏览器访问

ClickHouse 自带 HTTP 服务。

浏览器访问:

http://localhost:8123

如果正常,会返回:

OK

也可以直接执行 SQL:

http://localhost:8123/?query=SELECT%201

返回1

六、数据持久化(推荐)

如果直接运行容器,删除容器后数据会丢失。

推荐挂载数据目录:

mkdir -p /opt/clickhouse/data mkdir -p /opt/clickhouse/logs

启动:

docker run -d \ --name clickhouse \ -p 8123:8123 \ -p 9000:9000 \ -v /opt/clickhouse/data:/var/lib/clickhouse \ -v /opt/clickhouse/logs:/var/log/clickhouse-server \ clickhouse/clickhouse-server:latest

这样:

数据库数据 ↓ /opt/clickhouse/data

日志:

/opt/clickhouse/logs

七、设置用户名密码(推荐)

默认情况下用户为:

default

通常需要通过配置文件设置密码。

可以挂载配置目录:

mkdir -p /opt/clickhouse/config

启动:

-v /opt/clickhouse/config:/etc/clickhouse-server

然后修改:

users.xml

配置密码,例如:

<default> <password>123456</password> </default>

修改后重启:

docker restart clickhouse

八、使用 Docker Compose(推荐)

创建docker-compose.yml

version: "3.9" services: clickhouse: image: clickhouse/clickhouse-server:latest container_name: clickhouse restart: always ports: - "8123:8123" - "9000:9000" volumes: - ./data:/var/lib/clickhouse - ./logs:/var/log/clickhouse-server ulimits: nofile: soft: 262144 hard: 262144

启动:

docker compose up -d

查看:

docker compose ps

停止:

docker compose down

九、连接方式

使用客户端

进入容器:

docker exec -it clickhouse clickhouse-client

如果设置了密码:

clickhouse-client \ --user default \ --password

使用 HTTP API

curl "http://localhost:8123/?query=SELECT+version()"

例如返回:

25.x.x.x

使用数据库工具

常见支持 ClickHouse 的工具包括:

  • DBeaver
  • DataGrip
  • VS Code SQLTools(安装 ClickHouse 插件)
  • Grafana(用于监控和可视化)

连接信息:

参数
Hostlocalhost
Port9000(Native)或 8123(HTTP)
Userdefault
Password(按配置填写)

十、常用 Docker 命令

# 查看日志 docker logs clickhouse # 实时查看日志 docker logs -f clickhouse # 重启 docker restart clickhouse # 停止 docker stop clickhouse # 启动 docker start clickhouse # 删除容器 docker rm -f clickhouse
http://www.jsqmd.com/news/1191836/

相关文章:

  • KCOM4串口转键鼠控制线实战应用与固件升级指南
  • Spring Cloud Alibaba 2022集成Nacos
  • RK3588 HDMI-IN功能实战:从设备树配置到应用调试全解析
  • 手搓生产级 AI Agent 系统(2):工具系统深度实战——从参数校验到沙箱安全
  • Unity XLua热更新报错:Span与ReadOnlySpan类型缺失的深度解析与解决方案
  • GCC警告与优化协同配置:解决C++发布版本崩溃难题
  • Claude Code到底能不能干活?别只看 Demo 和跑分
  • 2026年7月最新南宁卡地亚官方售后维修服务网点地址与客服电话 - 卡地亚服务中心
  • Claude Code高效协作指南:claude.md编写规范与工程实践
  • 2026加密算法全景解析:从AES到后量子密码的实战指南
  • 零代码自动化:从重复操作到AI增强工作流的实践指南
  • 2026年苏州线切割设备靠谱生产服务商介绍:线切割机、放电切割机、阳极切割机设备制造企业 - 海棠依旧大
  • Armadillo预编译版在Windows+VS2022下的实战配置与性能优化
  • SpringCloud生态下的新选择:深入剖析PowerJob的分布式调度核心机制
  • STM32(三):外部中断实战避坑指南(标准库函数)
  • SpringBoot+Vue实战:从零构建一个课堂管理系统
  • 可行性研究实战:从经典习题到现代系统分析的思维跃迁
  • Unreal Engine模块加载失败全解析:从原理到排查的完整指南
  • C++ BOOST库实战指南:从智能指针到异步网络编程
  • 《AI辅助前端开发-10:避坑与进阶篇》
  • 2026 年 7 月新发布:揭西靠谱的止回式风帽订做厂家格局重塑与选型新思路,别等屋顶漏水才后悔!这玩意儿可能正让你家霉菌肆虐 - 实业推荐官【官方】
  • C++性能优化进阶:从代码技巧到工程体系的7个核心秘诀
  • C++浮点数输出精度控制:std::cout与<iomanip>实战指南
  • MySQL 崩溃恢复过程分析-元一软件
  • 2026年7月最新徐州格拉苏蒂官方售后维修服务网点地址与客服电话 - 亨得利钟表维修中心
  • (实战指南)STM32自定义通信协议:从帧结构设计到代码移植详解
  • VS Code原生AI编程:Cline插件深度集成Kimi k2实战指南
  • Unity URP汽车展览Demo实战:从场景搭建到交互实现
  • CandyForum / CandyBook
  • 把团队带废的5个坏习惯