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 服务器。

相关推荐
斯普信云原生组15 分钟前
Docker 开源软件应急处理方案及操作手册——镜像管理与构建故障
docker·容器·eureka
MichealChen0105082 小时前
Influxdb-cluster使用docker部署
运维·docker·容器
斯普信云原生组4 小时前
Docker 开源软件应急处理方案及操作手册——安全漏洞与权限问题
运维·docker·容器
MonkeyKing_sunyuhua4 小时前
阿里云ECS安装docker compose
阿里云·docker·云计算
迷路爸爸1805 小时前
Docker 入门学习笔记 06:用一个可复现的 Python 项目真正理解 Dockerfile
笔记·学习·docker
斯普信云原生组5 小时前
Docker 开源软件应急处理方案及操作手册——容器运行异常处理
docker·容器·eureka
摆烂z6 小时前
对外访问网络限制*.aliyuncs.com开放也拉不下来和查看docker容器结构
运维·docker·容器
斯普信云原生组7 小时前
Docker 开源软件应急处理方案及操作手册——资源限制与性能瓶颈
docker·容器·eureka
我科绝伦(Huanhuan Zhou)7 小时前
分享一个很实用的K8S巡检脚本
linux·docker·kubernetes
迷路爸爸1807 小时前
Docker 入门学习笔记 05:卷到底是什么,为什么容器删了数据却还能保留
笔记·学习·docker