docker-compose 部署clickhouse-server:24.6

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 本文介绍了如何使用 Docker Compose 快速部署 ClickHouse Server 24.6 单节点服务,含端口映射(8123/9000)、数据日志持久化、密码安全配置及自定义 config.xml 示例,并提供启动验证命令与生产安全提示。

要在 Docker Compose 中部署 ClickHouse Server 24.6 版本,你可以使用以下 docker-compose.yml 文件。该配置包含基本的单节点 ClickHouse 服务,并暴露默认端口(HTTP: 8123,TCP/Native: 9000)。


✅ docker-compose.yml 示例

version: '3.8'

services:
  clickhouse-server:
    image: clickhouse/clickhouse-server:24.6
    container_name: clickhouse-server
    ports:
      - "8123:8123"   # HTTP 接口
      - "9000:9000"   # Native TCP 接口
      - "9009:9009"   # Internal replication port (可选)
    volumes:
      - ./clickhouse_data:/var/lib/clickhouse
      - ./clickhouse_log:/var/log/clickhouse-server
      - ./config.xml:/etc/clickhouse-server/config.d/custom.xml  # 可选自定义配置
    environment:
      - CLICKHOUSE_USER=default
      - CLICKHOUSE_PASSWORD=your_strong_password  # 建议修改为强密码
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    restart: unless-stopped

📁 目录结构建议

在你的项目目录下创建如下结构:

.
├── docker-compose.yml
├── clickhouse_data/       # 数据持久化目录(自动创建)
├── clickhouse_log/        # 日志目录
└── config.xml             # (可选)自定义配置文件

如果你不需要自定义配置,可以删除 volumes 中对应 config.xml 的那一行。


🔐 安全提示

  • 不要在生产环境中使用默认密码。上面示例中通过环境变量设置了用户和密码。
  • ClickHouse 默认用户是 default,可通过 CLICKHOUSE_USERCLICKHOUSE_PASSWORD 环境变量覆盖。
  • 如需更复杂的用户/权限管理,建议挂载自定义的 users.xml 或使用 config.d/ 下的配置片段。

▶️ 启动服务

docker-compose up -d

验证是否运行成功:

# 检查容器状态
docker-compose ps

# 测试 HTTP 接口
curl http://localhost:8123/

# 应返回 "Ok."

📝 补充:自定义 config.xml 示例(可选)

如果你需要调整配置(如监听所有地址、开启压缩等),可以创建 config.xml

<!-- config.xml -->
<yandex>
    <listen_host>::</listen_host> <!-- 允许 IPv6 和 IPv4 -->
    <max_connections>4096</max_connections>
    <keep_alive_timeout>300</keep_alive_timeout>
</yandex>

注意:这个文件会被挂载到 /etc/clickhouse-server/config.d/custom.xml,ClickHouse 会自动合并配置。


如需集群部署、ZooKeeper 集成或备份策略,也可以进一步扩展此配置。需要的话可以继续问我!

相关文章
|
消息中间件 安全 Kafka
2024年了,如何更好的搭建Kafka集群?
我们基于Kraft模式和Docker Compose同时采用最新版Kafka v3.6.1来搭建集群。
4016 2
2024年了,如何更好的搭建Kafka集群?
|
10天前
|
机器学习/深度学习 数据采集 人工智能
大模型应用:大模型参数调优:结合本地模型对比多种组合探索差异.7
本文系统解析大模型核心生成参数(如temperature、top_p、top_k、repetition_penalty等)的原理、作用机制与实践影响,结合Qwen1.5-1.8B本地模型实测,通过创意写作、技术问答、代码生成三类任务对比分析参数组合效果,并提供分场景调优建议与黄金配置方案,助力从“调参新手”进阶为“生成质量掌控者”。
101 21
|
8天前
|
人工智能 Java 开发工具
OoderAgent 实战指南:从搭建环境到开发到开发第一个自己的skill能力
本文为 ooder SuperAgent 开源框架的实战指南,基于 MIT 协议,介绍其三层 Agent 架构(End/Route/MCP)、AI 能力标准化、P2P 服务发现及 Skillflow 编排等核心特性,并提供环境配置、技能开发、测试部署全流程实操说明。(239字)
|
搜索推荐 定位技术
如何快速查询自己的IP地址?
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
如何快速查询自己的IP地址?
|
开发工具 数据安全/隐私保护 Docker
docker下安装clickhouse
docker下安装clickhouse
841 0
|
14天前
|
SQL XML Java
告别 MyBatis?dbVisitor 如何以现代设计重塑 Java 数据访问层
dbVisitor 是国产开源 Java 数据访问框架,以现代设计重塑 DAL 层:告别 XML,支持 Fluent 链式 API、方法引用强类型校验、编译期自动生成 DAO、内联安全 SQL 构建,无缝集成 Spring Boot,兼顾性能与开发效率,助力云原生与高质效开发。(239 字)
149 1
|
14天前
|
Prometheus Cloud Native
prometheus 支持标签的筛选用>=吗
Prometheus标签为字符串类型,不支持`&gt;=`等数值比较操作符(如`version&gt;=&quot;2&quot;`非法)。仅支持`=`、`!=`、`=~`、`!~`等字符串匹配。需数值比较时,应将数值设为指标值(如`version_info&gt;2`),或通过Recording Rule预处理。
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
1109 93
|
关系型数据库 MySQL 调度
DataX教程(05)- DataX Web项目实践
DataX教程(05)- DataX Web项目实践
3517 0