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

 更新时间:2024年11月18日 10:35:38   作者:SinceFalling  
文章介绍了如何远程拉取和安装ClickHouse Docker镜像,配置和部署ClickHouse容器,并通过DataGrip远程访问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
                                                        (这是你拉取的镜像)

在本机创建文件目录。

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数据卷挂载方式

    Docker数据卷挂载方式

    文章介绍了Docker数据卷的作用和使用方法,包括数据卷的创建、查看、删除以及挂载,数据卷的主要优点是将数据与容器分离,解耦合,便于操作容器内的数据,保证数据安全,通过挂载数据卷,可以在宿主机上修改容器中的数据,并且可以方便地进行数据的复用和升级维护
    2024-12-12
  • Docker镜像大小查看和排序方法小结

    Docker镜像大小查看和排序方法小结

    在 Docker 日常使用中,随着镜像数量的增加,磁盘空间管理变得尤为重要,了解如何有效地查看和排序 Docker 镜像大小不仅可以帮助我们释放宝贵的磁盘空间,还能优化容器的构建和部署流程,所以本文给大家总结了Docker镜像大小查看和排序方法,需要的朋友可以参考下
    2025-05-05
  • 如何在docker中安装seata

    如何在docker中安装seata

    文章介绍了如何在Docker中安装Seata,包括下载镜像、运行容器、配置数据库、修改配置文件、启动Seata以及在微服务项目中使用Seata的步骤,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • docker部署Vaultwarden密码共享管理系统的实现(图文)

    docker部署Vaultwarden密码共享管理系统的实现(图文)

    Vaultwarden是一个开源的密码管理器,它提供了类似于Bitwarden的功能,允许用户安全地存储和管理密码、敏感数据和身份信息,本文主要介绍了docker部署Vaultwarden密码共享管理系统的实现,感兴趣的可以了解一下
    2023-10-10
  • docker多容器操作与强制删除容器的方法步骤

    docker多容器操作与强制删除容器的方法步骤

    有时候我们会有很多已经停止的容器或者由于错误强制退出不能用的容器,那我们就需要删除了,下面这篇文章主要给大家介绍了关于docker多容器操作与强制删除容器的方法步骤,需要的朋友可以参考下
    2022-11-11
  • Docker + Nginx 部署配置指南

    Docker + Nginx 部署配置指南

    这篇文章给大家介绍Docker + Nginx 部署配置指南,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2026-04-04
  • Docker部署Fio磁盘读写测试过程

    Docker部署Fio磁盘读写测试过程

    文章主要内容是介绍如何使用Fio测试工具进行磁盘性能测试,包括拉取测试工具镜像、启动容器、执行测试以及详细解释Fio的命令行参数和配置文件
    2026-01-01
  • docker-compose中link和external_links的区别及说明

    docker-compose中link和external_links的区别及说明

    拆分docker-compose.yml导致depends_on、links和external网络配置失效,因compose限制及Portainer命名冲突,解决方案为使用external_links或手动创建网络
    2025-09-09
  • dockerfile中CMD和ENTRYPOINT指令使用及说明

    dockerfile中CMD和ENTRYPOINT指令使用及说明

    介绍了Dockerfile中的CMD和ENTRYPOINT指令以及它们的执行方式,包括exec形式和shell形式,CMD提供默认命令,支持覆盖;ENTRYPOINT定义固定命令,不支持覆盖,但可以通过--entrypoint参数实现覆盖
    2025-11-11
  • 在docker中安装mysql详解

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05

最新评论