docker compose方式如何安装ClickHouse数据库

 更新时间:2025年04月14日 15:59:23   作者:亚林瓜子  
这篇文章主要介绍了docker compose方式如何安装ClickHouse数据库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题

本来想着在服务器上面安装ClickHouse数据库,由于项目预算有限,安装了一个空的ClickHouse数据库后面,服务器连命令行都卡顿了,免费的服务器都带不动。

现在就只好尝试在本地mac m1上面使用docker compose方式安装试一试了。

默认config.xml

从docker镜像中,获取默认config.xml文件,

具体命令如下:

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文件,具体命令如下:

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

docker-compose.yml

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版本,也就是长期支持版。
  • 这样数据库在社区的生命周期长一点。

部署

docker compose up -d

查看进程

docker compose ps

下线

docker compose down

测试验证

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

总结

ClickHouse数据库还是挺吃性能的。生产环境最好还是按照官网文件推荐配置进行部署。

clickhouse/clickhouse-server这个docker镜像虽然在docker hub上面没有被clickhouse公司认证为官方镜像,但是在生产环境部署的文档中和github源代码中,生产环境部署还是使用的这个docker镜像的。

不用担心这个镜像没有像clickhouse镜像那样,被clickhouse公司认证为官方镜像。总之,clickhouse/clickhouse-server还是很靠谱的,尽管没有被clickhouse公司认证。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决docker run时候启动两个占有不同端口的问题

    解决docker run时候启动两个占有不同端口的问题

    这篇文章主要介绍了解决docker run时候启动两个占有不同端口的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker容器安装及部署的超详细入门教程

    docker容器安装及部署的超详细入门教程

    Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化,下面这篇文章主要给大家介绍了关于docker安装及部署的相关资料,需要的朋友可以参考下
    2022-08-08
  • Docker从json-file到syslog的集中化管理实战指南

    Docker从json-file到syslog的集中化管理实战指南

    本次实战通过对比 json-file 与 syslog 两种日志驱动,演示了 Docker 容器日志的本地存储与系统日志集成方式,并成功将默认日志驱动全局配置为 syslog,实现日志集中化管理,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • python脚本在docker上运行的方法

    python脚本在docker上运行的方法

    在本篇文章里小编给各位分享的是关于python脚本在docker上运行的方法内容,有需要的朋友们可以学习下。
    2020-03-03
  • 解决docker运行tomcat提示找不到文件的问题

    解决docker运行tomcat提示找不到文件的问题

    这篇文章主要介绍了docker运行tomcat提示找不到文件的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-03-03
  • docker如何配置mysql主从复制

    docker如何配置mysql主从复制

    文章介绍了如何在CentOS 7上搭建一个MySQL集群,包括创建Docker环境、配置文件设置、创建和启动MySQL容器、设置远程访问以及配置主从同步
    2024-12-12
  • centos7安装docker容器的超详细步骤记录

    centos7安装docker容器的超详细步骤记录

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,这篇文章主要给大家介绍了关于centos7安装docker容器的超详细步需要的朋友可以参考下
    2022-08-08
  • 浅谈Docker-compose中的depends_on顺序的问题解决

    浅谈Docker-compose中的depends_on顺序的问题解决

    本文主要介绍了浅谈Docker-compose中的depends_on顺序的问题解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 如何给Docker配置网络代理

    如何给Docker配置网络代理

    文章讲述了如何为Docker配置代理,包括守护进程dockerd、容器运行和构建时的代理配置方法,并强调了不同场景下的适用性
    2024-11-11
  • Docker 端口映射与容器互联的实现

    Docker 端口映射与容器互联的实现

    Docker的端口映射和容器互联是构建和管理微服务架构时重要的概念,本文主要介绍了Docker 端口映射与容器互联的实现,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01

最新评论