docker compose方式安装ClickHouse数据库

问题

本来想着在服务器上面安装ClickHouse数据库,由于项目预算有限,安装了一个空的ClickHouse数据库后面,服务器连命令行都卡顿了,免费的服务器都带不动。现在就只好尝试在本地mac m1上面使用docker compose方式安装试一试了。

默认config.xml

从docker镜像中,获取默认config.xml文件,具体命令如下:

bash 复制代码
docker run --rm clickhouse/clickhouse-server:25.3.2.39-alpine bash -c "cat /etc/clickhouse-server/config.xml" > config.xml

默认users.xml

从docker镜像中,获取默认users.xml文件,具体命令如下:

bash 复制代码
docker run --rm clickhouse/clickhouse-server:25.3.2.39-alpine bash -c "cat /etc/clickhouse-server/users.xml" > users.xml

docker-compose.yml

yaml 复制代码
services:
  clickhouse-server:
    image: clickhouse/clickhouse-server:25.3.2.39-alpine
    container_name: clickhouse-server
    environment:
      - CLICKHOUSE_PASSWORD=admin123   # 用户密码
      - CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1  # 启用访问管理
    ports:
      - "8123:8123"  # HTTP接口
      - "9000:9000"  # 客户端TCP接口
    volumes:
      - ./data:/var/lib/clickhouse  # 数据持久化
      - ./config.xml:/etc/clickhouse-server/config.xml  # 自定义配置
      - ./users.xml:/etc/clickhouse-server/users.xml    # 用户配置
      - ./logs:/var/log/clickhouse-server
    ulimits:
      nofile:
        soft: 262144
        hard: 262144

注意:你选择clickhouse数据库版本的时候,尽可能选择lts版本,也就是长期支持版。这样数据库在社区的生命周期长一点。

部署

bash 复制代码
docker compose up -d

查看进程

bash 复制代码
docker compose ps

下线

bash 复制代码
docker compose down

测试验证

找个数据库工具连接一下数据库即可,效果如下图:

总结

ClickHouse数据库还是挺吃性能的。生产环境最好还是按照官网文件推荐配置进行部署。clickhouse/clickhouse-server这个docker镜像虽然在docker hub上面没有被clickhouse公司认证为官方镜像,但是在生产环境部署的文档中和github源代码中,生产环境部署还是使用的这个docker镜像的。不用担心这个镜像没有像clickhouse镜像那样,被clickhouse公司认证为官方镜像。总之,clickhouse/clickhouse-server还是很靠谱的,尽管没有被clickhouse公司认证。

参考

相关推荐
故乡dee云2 小时前
AWS 产品太多不会选?按“网站、数据库、文件、日志”4 类需求快速匹配
数据库·云计算·aws
曹牧4 小时前
C#:问号
前端·数据库·c#
奇树谦4 小时前
《现代 Key-Value 数据库原理:从 B+Tree 到 LSM Tree》-第五篇:现代数据库横向对比
数据库·lsm-tree
李白客4 小时前
分布式集群与数据库产业:从单机到集群的架构跃迁与市场重构
数据库·分布式·架构
福大大架构师每日一题5 小时前
Redis 8.10.0 正式发布:紧凑哈希、批量导入、备份恢复、流与时序能力全面升级
数据库·redis·哈希算法
雨晨源码(同名B站)5 小时前
基于深度学习YoloV11农业病害虫害检测系统 智慧农业信息化综合管理平台 (附源码+lw文档+ppt)
数据库·人工智能·深度学习·yolo·信息可视化
DBA小马哥6 小时前
向量数据库入门到进阶:Embedding、ANN算法与RAG落地的关键术语
数据库·算法·embedding
云和数据.ChenGuang6 小时前
fastapi项目拆分实战数据模型
java·服务器·数据库·人工智能·深度学习·fastapi·强化学习
祈禾6 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
东方护航数据恢复(深圳)6 小时前
MySQL_Oracle数据库崩溃修复全攻略_东方护航数据恢复深圳店
数据库·mysql·oracle