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公司认证。

参考

相关推荐
金刚猿2 分钟前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong28 分钟前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿1 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
麦聪聊数据1 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务1 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Goat恶霸詹姆斯2 小时前
mysql常用语句
数据库·mysql·oracle
大模型玩家七七3 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
曾经的三心草3 小时前
redis-9-哨兵
数据库·redis·bootstrap
明哥说编程3 小时前
Dataverse自定义表查询优化:D365集成大数据量提速实战【索引配置】
数据库·查询优化·dataverse·dataverse自定义表·索引配置·d365集成·大数据量提速
xiaowu0803 小时前
C# 拆解 “显式接口实现 + 子类强类型扩展” 的设计思想
数据库·oracle