Docker下安裝部署Clickhouse及其遠程訪問方式
一.遠程拉取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 (這是你拉取的鏡像)
在本機創(chuàng)建文件目錄。
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中的目錄)??梢钥吹轿掖鎯β窂揭哺牡奖緳C內了(第三個--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可以輕松訪問了
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Docker安裝部署分布式數據庫?OceanBase的詳細過程
這篇文章主要介紹了Docker安裝部署分布式數據庫?OceanBase,快速的體驗 OceanBase 的自動化部署過程,及了解 OceanBase 集群安裝成功后的目錄特點和使用方法,需要的朋友可以參考下2022-06-06docker /var/lib/docker/aufs/mnt 目錄清理方法
在本篇文章里小編給各位整理的是關于docker /var/lib/docker/aufs/mnt 目錄清理方法,有需要的朋友們可以參考下。2020-03-03