docker启动clickhouse
- 创建clickhouse目录
- 拉取镜像
- [启动临时容器, 生成配置文件](#启动临时容器, 生成配置文件)
- 正式启动
clickhouse越来越流行,本地想安装个测试环境
创建clickhouse目录
后续作为挂载卷使用
mkdir -p /home/gugu/ckdata/data
mkdir -p /home/gugu/ckdata/conf
mkdir -p /home/gugu/ckdata/log
拉取镜像
测试环境对版本没有特殊要求,直接最新的走起,时间可能需要等待一会
docker pull yandex/clickhouse-server
启动临时容器, 生成配置文件
# 容器关闭后会自动删除掉
docker run -d --rm --name clickhouse-server --ulimit nofile=262144:262144 yandex/clickhouse-server
参数说明
-d:后台模式运行
--rm:当容器退出时,自动删除容器。可以确保你不会留下未使用的、占用磁盘空间的容器。
--name clickhouse-server: 容器名称
--ulimit nofile=262144:262144:设置容器的 nofile ulimit,设计文件打开句柄数量
yandex/clickhouse-server: 镜像名称
拷贝配置文件到本地中的目录
docker cp clickhouse-server:/etc/clickhouse-server/config.xml /home/gugu/ckdata/conf/config.xml
docker cp clickhouse-server:/etc/clickhouse-server/users.xml /home/gugu/ckdata/conf/users.xml
关闭临时容器
docker stop clickhouse-server
这个时候 docker ps和docker ps -a 都是看不到这个容器的
正式启动
docker run -d --name=clickhouse-server -p 8123:8123 --ulimit nofile=262144:262144 -v /home/gugu/ckdata/data:/var/lib/clickhouse:rw -v /home/gugu/ckdata/conf/config.xml:/etc/clickhouse-server/config.xml -v /home/gugu/ckdata/conf/users.xml:/etc/clickhouse-server/users.xml -v /home/gugu/ckdata/log:/var/log/clickhouse-server:rw yandex/clickhouse-server
命令说明
-v /home/gugu/ckdata/data:/var/lib/clickhouse:rw 挂载卷,前面是主机本地的路径,后面路径是容器内部路径【固定】,rw是对应权限
-p 8123:8123 端口映射 前面是主机端口,后面是容器内端口,注意不要给已经启动的其他端口冲突
查看下启动的容器
docker ps
enjoy it