• docker 部署 clickhouse


    查看镜像

    FROM ubuntu:18.04
    
    ARG repository="deb http://repo.yandex.ru/clickhouse/deb/stable/ main/"
    ARG version=19.1.13
    ARG gosu_ver=1.10
    
    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
    
    ADD https://github.com/tianon/gosu/releases/download/1.10/gosu-amd64 /bin/gosu
    
    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
    
    RUN chmod +x \
        /entrypoint.sh \
        /bin/gosu
    
    EXPOSE 9000 8123 9009
    VOLUME /var/lib/clickhouse
    
    ENV CLICKHOUSE_CONFIG /etc/clickhouse-server/config.xml
    
    ENTRYPOINT ["/entrypoint.sh"]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52

    拉镜像

    docker pull yandex/clickhouse-server
    
    
    • 1
    • 2

    第一次启动 镜像 随便挂载个地点 取出默认配置到 我们本地

    docker run -d --name my-clickhouse --ulimit nofile=262144:262144 \
    -v E:\docker-mapping\ /var/lib/clickhouse \ # 随便挂载一个地方
     clickhouse/clickhouse-server
    
    
    • 1
    • 2
    • 3
    • 4

    进入容器

    docker exec -it my-clickhouse /bin/bash
    
    • 1

    复制 配置文件到挂载目录

    cp -R  /etc/clickhouse-server /var/lib/clickhouse
    
    • 1

    切换到本地 将配置文件复制出来 放在 E:\docker-mapping\click-house\config 然后删除容器
    在这里插入图片描述
    最后启动 带有配置文件 和data 挂载 clickhouse

    docker run -d -p 9000:9000 -p 8123:8123 -p 9009:9009 --name my-clickhouse # 8123是数据库链接端口
    --ulimit nofile=262144:262144 --privileged=true 
    -v E:\docker-mapping\click-house\data:/var/lib/clickhouse # 这是镜像提供的匿名卷
    -v E:\docker-mapping\click-house\config:/etc/clickhouse-server # 挂在配置文件
    yandex/clickhouse-server
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    美食杰项目 -- 登录注册(三)
    精品基于Python实现的校园二手交易网站购物商城设计与实现
    [附源码]Python计算机毕业设计SSM浪漫烘焙屋(程序+LW)
    8.吴恩达机器学习-异常检测
    c 语言开发
    在CorelDraw中,VBA宏调用是如何执行的?
    创建表
    基于Java的勤工助学管理系统设计与实现(源码+lw+部署文档+讲解等)
    常用网络编程函数
    CatBoost高级教程:分布式训练与大规模数据处理
  • 原文地址:https://blog.csdn.net/u010020726/article/details/125537637