保姆级教程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=true | Docker会赋予容器几乎与宿主机相同的权限 |
--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博客