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

相关推荐
染诗3 小时前
docker部署flask项目后,请求时总是报拒绝连接错误
docker·容器·flask
张3蜂5 小时前
docker 部署.netcore应用优势在什么地方?
docker·容器·.netcore
心惠天意7 小时前
docker-compose篇---创建jupyter并可用sudo的创建方式
docker·jupyter·容器
huaweichenai8 小时前
windows下修改docker的镜像存储地址
运维·docker·容器
菠萝炒饭pineapple-boss8 小时前
Dockerfile另一种使用普通用户启动的方式
linux·docker·dockerfile
前端 贾公子10 小时前
速通Docker === 网络
docker
昵称难产中12 小时前
浅谈云计算21 | Docker容器技术
docker·容器·云计算
旦沐已成舟16 小时前
K8S-Pod的环境变量,重启策略,数据持久化,资源限制
java·docker·kubernetes
milk_yan20 小时前
Docker集成onlyoffice实现预览功能
前端·笔记·docker
encoding-console1 天前
docker安装consul并启动的详细步骤
docker·容器·consul