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

保姆级教程Docker部署ClickHouse镜像

目录

1、安装Docker及可视化工具

2、创建挂载目录

3、获取配置文件

4、运行ClickHouse容器

5、Compose运行ClickHouse容器

6、查看ClickHouse运行状态

7、安装包部署


1、安装Docker及可视化工具

Docker及可视化工具的安装可参考:Ubuntu上安装 Docker及可视化管理工具

2、创建挂载目录

# 创建宿主机rabbitMQ挂载目录
sudo mkdir -p /data/docker/clickhouse

3、获取配置文件

# 1.拉取镜像
sudo docker pull clickhouse/clickhouse-server:24.12

# 2.启动一个临时容器,为了拿配置文件
sudo docker run --rm -d --name=temp-clickhouse-server clickhouse/clickhouse-server:24.12

# 3.复制配置文件到宿主机
sudo mkdir -p /data/docker/clickhouse/config
sudo docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml /data/docker/clickhouse/config/users.xml
sudo docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml /data/docker/clickhouse/config/config.xml

# 4.删除临时容器
sudo docker rm -f temp-clickhouse-server

4、运行ClickHouse容器

# 1.启动镜像
sudo docker run --privileged=true --net=bridge \
-p 8123:8123 \
--name clickhouse-server \
--ulimit nofile=262144:262144 \
-v /data/docker/clickhouse/data:/var/lib/clickhouse \
-v /data/docker/clickhouse/config/config.xml:/etc/clickhouse-server/config.xml \
-v /data/docker/clickhouse/config/users.xml:/etc/clickhouse-server/users.xml \
-v /data/docker/clickhouse/log:/var/log/clickhouse-server \
-e CLICKHOUSE_USER=root \
-e CLICKHOUSE_PASSWORD=clickhouse \
-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \
-e TZ=Asia/Shanghai \
-d clickhouse/clickhouse-server:24.12

参数解析如下:

参数参数说明
docker run运行 Docker 容器
-d clickhouse/clickhouse-server:22.12后台运行clickhouse-server容器
--privileged=trueDocker会赋予容器几乎与宿主机相同的权限
--net=bridge网络模式配置,默认是bridge,bridge表示使用容器内部配置网络
--name clickhouse-server给容器指定一个名称,以便于管理和引用该容器
-p 8123:8123将主机的 8123 端口映射到容器的 8123 端口
--ulimit nofile=262144:262144

设置容器内 ClickHouse 进程的文件打开数量限制,

防止因文件描述符不足导致问题

-e CLICKHOUSE_USER=root设置 ClickHouse 的默认管理员用户名为 root
-e CLICKHOUSE_PASSWORD=clickhouse设置 ClickHouse 的管理员账号密码为 clickhouse
-e TZ=Asia/Shanghai设置容器的时区为上海时间,便于处理时间相关的数据
-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1启用 ClickHouse 的访问控制功能,需要设置管理员账号密码才能进行操作
-v /data/docker/clickhouse/config/config.xml:/etc/clickhouse-server/config.xml将主机中 /data/docker/clickhouse/config/config.xml 文件映射到容器内的 /etc/clickhouse-server/config.xml 文件,这样可以提供自定义的 ClickHouse 配置文件
-v /data/docker/clickhouse/config/users.xml:/etc/clickhouse-server/users.xml将主机中 /data/docker/clickhouse/config/users.xml 文件映射到容器内的 /etc/clickhouse-server/users.xml 文件,这样可以提供自定义的用户认证信息
-v /data/docker/clickhouse/data:/var/lib/clickhouse将主机data目录挂载到容器内,用于数据持久化
-v /data/docker/clickhouse/log:/var/log/clickhouse-server将主机log目录挂载到容器内,用于日志文件持久化

容器运行参数详解参考:Docker容器运行常用参数详解-CSDN博客 

5、Compose运行ClickHouse容器

创建docker-compose.yml文件

sudo touch /data/docker/clickhouse/docker-compose.yml

文件内容如下:

version: '3'
 
services:
  rabbitmq:
    image: clickhouse/clickhouse-server:24.12
    container_name: clickhouse-server
    ports:
      - "8123:8123"
    ulimits:
      nofile:
        soft: 262144
        hard: 262144
    environment:
      CLICKHOUSE_USER: root
      CLICKHOUSE_PASSWORD: clickhouse
      CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
      TZ: Asia/Shanghai
    volumes:
      - /data/docker/clickhouse/data:/var/lib/clickhouse
      - /data/docker/clickhouse/config/users.xml:/etc/clickhouse-server/users.xml
      - /data/docker/clickhouse/config/config.xml:/etc/clickhouse-server/config.xml
      - /data/docker/clickhouse/log:/var/log/clickhouse-server
    privileged: true
    network_mode: "bridge"

运行容器

#-f:调用文件,-d:开启守护进程
sudo docker compose -f /data/docker/clickhouse/docker-compose.yml up -d

6、查看ClickHouse运行状态

 

 

7、安装包部署

部署ClickHouse单机版和集群可参考:Linux下部署ClickHouse单机版和集群-CSDN博客


http://www.kler.cn/a/459708.html

相关文章:

  • 二、github基础
  • 基本算法——回归
  • C# 设计模式(创建型模式):单例模式
  • stm32 智能语音电梯系统
  • HTML——57. type和name属性
  • JavaScript中如何创建对象
  • 阿里云大模型ACP高级工程师认证模拟试题
  • Mysq学习-Mysql查询(4)
  • Substrate Saturday 回顾:如何利用 Polkadot Cloud 扩展 Solana 网络服务?
  • Web安全 - API 成批分配漏洞的四种修复方案
  • J9学习打卡笔记
  • 网络安全常识
  • ELK 使用教程采集系统日志 Elasticsearch、Logstash、Kibana
  • Linux(Centos 7.6)常见基础配置
  • 12.22-12.29学习周报
  • Linux 安装deb
  • CentOS 7安装Docker详细教程
  • E7515BUXM 5G 无线测试平台
  • log4j 单独设置某个类或者某个包的级别
  • python利用selenium实现大麦网抢票
  • [单master节点k8s部署]43.全链路监控(二)
  • Prompt工程--AI开发--可置顶粘贴小工具
  • 【CSS in Depth 2 精译_094】16.2:CSS 变换在动效中的应用(下)——导航菜单的文本标签“飞入”特效与交错渲染效果的实现
  • Android 14.0 设置默认屏幕亮度百分比
  • [Pro Git#2] 分支管理 | branch fix_bug , feature | 处理合并冲突
  • 微信小程序:定义页面标题,动态设置页面标题,json