查看镜像
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"]
拉镜像
docker pull yandex/clickhouse-server
第一次启动 镜像 随便挂载个地点 取出默认配置到 我们本地
docker run -d --name my-clickhouse --ulimit nofile=262144:262144 \
-v E:\docker-mapping\ /var/lib/clickhouse \ # 随便挂载一个地方
clickhouse/clickhouse-server
进入容器
docker exec -it my-clickhouse /bin/bash
复制 配置文件到挂载目录
cp -R /etc/clickhouse-server /var/lib/clickhouse
切换到本地 将配置文件复制出来 放在 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