Docker 安装 ClickHouse 教程

Docker 安装 ClickHouse 教程

创建目录

首先,创建必要的目录用于存放 ClickHouse 的配置、数据和日志文件。

bash 复制代码
mkdir -p /home/clickhouse/conf
mkdir -p /home/clickhouse/data
mkdir -p /home/clickhouse/log
chmod -R 777 /home/clickhouse/conf
chmod -R 777 /home/clickhouse/data
chmod -R 777 /home/clickhouse/log

拉取 ClickHouse 镜像

使用 Docker 拉取最新的 ClickHouse 镜像。

bash 复制代码
docker pull yandex/clickhouse-server:latest

创建临时容器

创建一个临时容器以便于复制其配置文件。

bash 复制代码
docker run --rm -d --name=clickhouse-server \
  --ulimit nofile=262144:262144 \
  -p 8123:8123 -p 9009:9009 -p 9000:9000 \
  yandex/clickhouse-server:latest

复制配置文件

将容器内的配置文件复制到宿主机的指定目录。

bash 复制代码
docker cp clickhouse-server:/etc/clickhouse-server/config.xml /home/clickhouse/conf/config.xml
docker cp clickhouse-server:/etc/clickhouse-server/users.xml /home/clickhouse/conf/users.xml

停止临时容器

停止并移除临时容器。

bash 复制代码
docker stop clickhouse-server
docker rm clickhouse-server

生成密码

随机生成密码及对应的 SHA256 加密密码。

bash 复制代码
PASSWORD=$(base64 < /dev/urandom | head -c8)
echo "$PASSWORD"
echo -n "$PASSWORD" | sha256sum | tr -d '-'

修改密码

编辑 /home/clickhouse/conf/users.xml 文件,将生成的 SHA256 密码替换到 <password_sha256_hex> 标签内。

启动 ClickHouse 容器

使用以下命令启动 ClickHouse 容器。

bash 复制代码
docker run -d --name=clickhouse-server \
  -p 8123:8123 -p 9009:9009 -p 9000:9000 \
  --ulimit nofile=262144:262144 \
  -v /home/clickhouse/data:/var/lib/clickhouse:rw \
  -v /home/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \
  -v /home/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \
  -v /home/clickhouse/log:/var/log/clickhouse-server:rw \
  yandex/clickhouse-server:latest

连接 ClickHouse

使用 DBeaver 或其他 ClickHouse 客户端连接到 ClickHouse 服务器。

相关推荐
huaweichenai2 小时前
docker部署kkFileView实现文件预览功能
运维·docker·容器
望舒同学7 小时前
Docker上云踩坑实录
docker·全栈
Knight_AL7 小时前
MinIO 入门实战:Docker 安装 + Spring Boot 文件上传(公有 / 私有)
spring boot·docker·容器
better_liang8 小时前
每日Java面试场景题知识点之-Docker容器化部署
java·docker·微服务·devops·容器化·企业级开发
南山nash9 小时前
Docker 网络详细讲解
运维·docker·容器
白驹过隙不负青春9 小时前
Docker-compose部署java服务及前端服务
java·运维·前端·docker·容器·centos
Carry3459 小时前
Nexus respository 搭建前端 npm 私服
前端·docker
阿杰 AJie9 小时前
Ubuntu 22.04 安装 Docker
linux·ubuntu·docker
赵文宇(温玉)10 小时前
Docker是时代发展的产物
运维·docker·容器
赵文宇(温玉)11 小时前
Docker发展时间线(2008~2025)
运维·docker·容器