一.远程拉取clickhouse的docker镜像

1.访问官方网址:安装 | ClickHouse Docs(目前官网就一句话,自己去docker hub上去找)

        想看的小伙伴可以自己去clickhouse官网和docker hub的慢慢研究,废话不多说,直接上指令,拉取镜像。

docker pull clickhouse/clickhouse-server:22.8.14.53

        最好是拉取对你当前的时间来说比较新的版本镜像。

2.删除镜像

        有些小伙伴不小心拉了多个版本镜像,造成文件冗余、浪费磁盘空间。可以使用以下指令删除镜像。

// 可以看到你目前docker拉取的所有镜像,可以看到各个镜像的信息
docker images 


//删除镜像前,先确认由你镜像所起动的容器是关闭的(最好再rm一下)
docker ps -a
docker stop ${CONTAINER ID}
docker rm ${CONTAINER ID}

//每个镜像文件对应一个image_id(和container_id不一样,不要搞混),通过image_id进行删除
docker image rm ${IMAGE ID}

二.安装部署clickhouse

        先启动一个临时容器,用来获取config.xml和users.xml配置文件,并进行修改。

        --rm:代表这是个临时容器,停止服务的时候,就会自动删除该容器;

        -d:后台运行;

        --name=:给你启动的容器命名;

docker run --rm -d --name=temp-clickhouse-server clickhouse/clickhouse-server:22.8.14.53
                                                        (这是你拉取的镜像)

        在本机创建文件目录。

mkdir -p /storage/clickhouse/conf /storage/clickhouse/data /storage/clickhouse/log

       复制配置文件到本机上,按照自身需求修改,开放端口、设置密码之类的。

docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml /storage/clickhouse/conf/users.xml
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml /storage/clickhouse/conf/config.xml

         copy失败的话,不知道docker中的clickhouse配置文件在哪,可以进容器中看看(默认一般上面那个路径)。

docker exec -it ${CONTAINER ID} bash

        启动clickhouse

        -p:指定映射端口,本机端口:服务端口;

        --volume:映射文件,将上面copy下来的文件(目录)映射到docker容器中使用(本机目录:docker中的目录)。可以看到我存储路径也改到本机内了(第三个--volume),因为我将本机内部的data目录(/storage/clickhouse/data)映射到config.xml中的数据存储目录(/var/lib/clickhouse/),之后数据是直接存到本机的data目录中 ;

        最后再加上你拉取的镜像。

docker run -d --name=clickhouse-server \
-p 8123:8123 \
--volume=/storage/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \
--volume=/storage/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \
--volume=/storage/clickhouse/data:/var/lib/clickhouse/ \
clickhouse/clickhouse-server:22.8.14.53

三.远程访问clickhouse

        打开DataGrip可以轻松访问了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐