Docker下安装部署Clickhouse及其远程访问

本文介绍了如何在Docker中拉取ClickHouse的镜像,选择合适的版本,以及如何删除多余镜像。接着,文章详述了如何通过创建临时容器获取并修改配置文件,启动ClickHouse服务,并映射端口和数据存储路径。最后,提到了使用DataGrip进行远程访问。
摘要由CSDN通过智能技术生成

一.远程拉取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可以轻松访问了

以下是使用Docker安装ClickHouse并配置远程访问的步骤: 1. 首先,确保已经安装Docker。如果没有安装,请根据您的操作系统进行安装。 2. 打开终端或命令提示符,并运行以下命令来拉取ClickHouseDocker镜像: ```shell docker pull yandex/clickhouse-server ``` 3. 运行以下命令来创建并启动一个ClickHouse容器: ```shell docker run -d --name clickhouse-server -p 8123:8123 -p 9000:9000 yandex/clickhouse-server ``` 这将创建一个名为clickhouse-server的容器,并将ClickHouse的HTTP端口映射到主机的8123端口,将ClickHouse的TCP端口映射到主机的9000端口。 4. 确认容器已经成功启动。运行以下命令来查看容器的状态: ```shell docker ps ``` 您应该能够看到clickhouse-server容器正在运行。 5. 现在,您可以通过访问http://localhost:8123来访问ClickHouse的Web界面。在Web界面中,您可以执行SQL查询和其他操作。 6. 要配置远程访问,您需要编辑ClickHouse的配置文件。运行以下命令进入ClickHouse容器的bash终端: ```shell docker exec -it clickhouse-server bash ``` 7. 在容器中,找到ClickHouse的配置文件,并使用文本编辑器进行编辑。默认情况下,配置文件位于/etc/clickhouse-server/config.xml。您可以运行以下命令来编辑配置文件: ```shell vi /etc/clickhouse-server/config.xml ``` 8. 在配置文件中,找到以下行: ```xml <listen_host>::</listen_host> ``` 将其修改为: ```xml <listen_host>0.0.0.0</listen_host> ``` 这将允许ClickHouse接受来自任何IP地址的连接。 9. 保存并关闭配置文件。 10. 重新启动ClickHouse容器,以使配置更改生效: ```shell docker restart clickhouse-server ``` 现在,您应该能够通过使用ClickHouse的IP地址和端口号来远程访问ClickHouse数据库。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值