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

相关推荐
傻傻虎虎2 小时前
【Docker】常用帮忙、镜像、容器、其他命令合集(2)
运维·docker·容器
2401_8979300610 小时前
使用Docker轻松部署Neo4j图数据库
数据库·docker·neo4j
LeeZhao@11 小时前
【AI推理部署】Docker篇04—Docker自动构建镜像
人工智能·docker·容器
程思扬11 小时前
利用JSONCrack与cpolar提升数据可视化及跨团队协作效率
网络·人工智能·经验分享·docker·信息可视化·容器·架构
落日漫游12 小时前
dockercompose和k8s区别
docker·kubernetes
lllsure14 小时前
【Docker】存储卷
运维·docker·容器
纤瘦的鲸鱼15 小时前
Docker 从入门到实践:容器化技术核心指南
java·docker·容器
邂逅星河浪漫16 小时前
【Docker+Nginx+Ollama】前后端分离式项目部署(传统打包方式)
java·nginx·docker·部署
咖啡Beans1 天前
Docker安装ELK(Elasticsearch + Logstash + Kibana)
后端·elasticsearch·docker
智能化咨询1 天前
Docker 容器化部署核心实战——Nginx 服务配置与正反向代理原理解析
docker