docker下安装clickhouse

简介: docker下安装clickhouse

01 前言

clickhouse docker hub首页:https://hub.docker.com/r/yandex/clickhouse-server,这里描述了clickhouse在docker下的简介以及部署方式:

搜索自己需要的版本:https://hub.docker.com/r/yandex/clickhouse-server/tags?page=1

访问:https://hub.docker.com/r/yandex/clickhouse-server/dockerfile查看dockerfile,内容如下(已添加注释):

# 使用基础镜像为 Ubuntu 18.04
FROM ubuntu:18.04
# 设置构建参数:ClickHouse仓库、版本和gosu版本
ARG repository="deb http://repo.yandex.ru/clickhouse/deb/stable/ main/"
ARG version=19.1.13
ARG gosu_ver=1.10
# 更新APT源,并安装所需软件和依赖
RUN apt-get update \
    && apt-get install --yes --no-install-recommends \
        apt-transport-https \
        dirmngr \
        gnupg \
    && mkdir -p /etc/apt/sources.list.d \
    && apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4 \
    && echo $repository > /etc/apt/sources.list.d/clickhouse.list \
    && apt-get update \
    && env DEBIAN_FRONTEND=noninteractive \
        apt-get install --allow-unauthenticated --yes --no-install-recommends \
            clickhouse-common-static=$version \
            clickhouse-client=$version \
            clickhouse-server=$version \
            libgcc-7-dev \
            locales \
            tzdata \
            wget \
    && rm -rf \
        /var/lib/apt/lists/* \
        /var/cache/debconf \
        /tmp/* \
    && apt-get clean
# 下载并安装gosu工具
ADD https://github.com/tianon/gosu/releases/download/1.10/gosu-amd64 /bin/gosu
# 生成en_US.UTF-8语言环境
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# 创建初始化数据库目录
RUN mkdir /docker-entrypoint-initdb.d
# 复制配置文件和入口脚本到镜像中
COPY docker_related_config.xml /etc/clickhouse-server/config.d/
COPY entrypoint.sh /entrypoint.sh
# 赋予入口脚本和gosu可执行权限
RUN chmod +x \
    /entrypoint.sh \
    /bin/gosu
# 暴露ClickHouse的端口并设置数据卷
EXPOSE 9000 8123 9009
VOLUME /var/lib/clickhouse
# 设置ClickHouse配置文件路径并指定入口命令为entrypoint.sh
ENV CLICKHOUSE_CONFIG /etc/clickhouse-server/config.xml
ENTRYPOINT ["/entrypoint.sh"]

注意:判断以上暴露的端口是否与本机已有的服务冲突

02 安装

拉取镜像

docker pull yandex/clickhouse-server:21.3.20.1

启动容器

docker run --rm -d --name=clickhouse-server \
--ulimit nofile=262144:262144 \
-p 8123:8123 -p 9009:9009 -p 9090:9000 \
yandex/clickhouse-server:21.3.20.1

03 修改配置

3.1 安装vim插件

因为clickhouse容器里面是没有安装vim的,所以要手动安装:

# 进入容器
docker exec -it clickhouse-server bash
## 安装vim
apt-get update
apt-get install vim -y

3.2 修改用户密码

/etc/clickhouse-server/users.xml中配置用户密码,首先生成密码,这里需要sha256加密,加入我的命令为123456,执行命令:

PASSWORD=$(base64 < /dev/urandom | head -c8); echo "123456"; echo -n "123456" | sha256sum | tr -d '-'

使用vi命令,修改文件里面的“<password>”标签为“<password_sha256_hex>”然后复制加密后的密码进/etc/clickhouse-server/users.xml文件里面的<password_sha256_hex></password_sha256_hex>,:

# 编辑
vi /etc/clickhouse-server/users.xml
# 复制password
<password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>

退出容器,然后重启:

# 退出
exit
# 重启
docker restart clickhouse-server

04 验证

使用DBeaver连接Clickhouse,首先新建ClickHouse连接:

配置信息如下:

点击测试连接,根据指引去点击“next”,会自动下载相关的依赖,连接成功如下:

目录
相关文章
|
6天前
|
NoSQL 关系型数据库 应用服务中间件
docker基础篇:安装tomcat
docker基础篇:安装tomcat
105 64
|
7天前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
64 24
|
8天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
61 24
|
7天前
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
81 11
|
1月前
|
缓存 Linux Docker
【最新版正确姿势】Docker安装教程(简单几步即可完成)
之前的老版本Docker安装教程已经发生了变化,本文分享了Docker最新版安装教程,其他操作系统版本也可以参考官 方的其他安装版本文档。
1355 2
【最新版正确姿势】Docker安装教程(简单几步即可完成)
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
726 12
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
1月前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
102 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
75 2
|
1月前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
|
1月前
|
缓存 Ubuntu Linux
如何安装Docker
如何安装Docker
175 0