2020-07-06 10:44:47 +00:00
|
|
|
FROM ubuntu:20.04
|
2016-06-15 16:50:33 +00:00
|
|
|
|
2020-06-10 19:26:44 +00:00
|
|
|
ARG repository="deb https://repo.clickhouse.tech/deb/stable/ main/"
|
2021-01-21 09:39:46 +00:00
|
|
|
ARG version=21.2.1.*
|
2018-09-21 22:00:57 +00:00
|
|
|
ARG gosu_ver=1.10
|
|
|
|
|
2021-01-15 17:58:51 +00:00
|
|
|
# user/group precreated explicitly with fixed uid/gid on purpose.
|
|
|
|
# It is especially important for rootless containers: in that case entrypoint
|
|
|
|
# can't do chown and owners of mounted volumes should be configured externally.
|
|
|
|
# We do that in advance at the begining of Dockerfile before any packages will be
|
|
|
|
# installed to prevent picking those uid / gid by some unrelated software.
|
|
|
|
# The same uid / gid (101) is used both for alpine and ubuntu.
|
|
|
|
|
2021-01-14 22:37:27 +00:00
|
|
|
RUN groupadd -r clickhouse --gid=101 \
|
|
|
|
&& useradd -r -g clickhouse --uid=101 --home-dir=/var/lib/clickhouse --shell=/bin/bash clickhouse \
|
|
|
|
&& apt-get update \
|
2018-09-21 22:00:57 +00:00
|
|
|
&& apt-get install --yes --no-install-recommends \
|
|
|
|
apt-transport-https \
|
2020-07-02 19:16:21 +00:00
|
|
|
ca-certificates \
|
2018-09-21 22:00:57 +00:00
|
|
|
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 \
|
2020-07-03 21:55:00 +00:00
|
|
|
&& env DEBIAN_FRONTEND=noninteractive \
|
2020-07-06 08:20:56 +00:00
|
|
|
apt-get --yes -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" upgrade \
|
2018-09-21 22:00:57 +00:00
|
|
|
&& env DEBIAN_FRONTEND=noninteractive \
|
|
|
|
apt-get install --allow-unauthenticated --yes --no-install-recommends \
|
|
|
|
clickhouse-common-static=$version \
|
2018-12-10 15:23:21 +00:00
|
|
|
clickhouse-client=$version \
|
2018-09-21 22:00:57 +00:00
|
|
|
clickhouse-server=$version \
|
2018-12-10 15:23:21 +00:00
|
|
|
locales \
|
|
|
|
wget \
|
2018-09-21 22:00:57 +00:00
|
|
|
&& rm -rf \
|
|
|
|
/var/lib/apt/lists/* \
|
|
|
|
/var/cache/debconf \
|
|
|
|
/tmp/* \
|
2021-01-21 17:25:09 +00:00
|
|
|
&& apt-get clean \
|
|
|
|
&& mkdir -p /var/lib/clickhouse /var/log/clickhouse-server /etc/clickhouse-server /etc/clickhouse-client \
|
|
|
|
&& chmod ugo+Xrw -R /var/lib/clickhouse /var/log/clickhouse-server /etc/clickhouse-server /etc/clickhouse-client
|
|
|
|
|
2021-01-22 14:28:25 +00:00
|
|
|
# we need to allow "others" access to clickhouse folder, because docker container
|
2021-01-21 17:25:09 +00:00
|
|
|
# can be started with arbitrary uid (openshift usecase)
|
2016-06-15 16:50:33 +00:00
|
|
|
|
2019-03-22 12:29:19 +00:00
|
|
|
ADD https://github.com/tianon/gosu/releases/download/$gosu_ver/gosu-amd64 /bin/gosu
|
2018-12-10 15:23:21 +00:00
|
|
|
|
|
|
|
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
|
2020-01-29 12:59:48 +00:00
|
|
|
ENV TZ UTC
|
2018-12-10 15:23:21 +00:00
|
|
|
|
2018-11-28 19:55:34 +00:00
|
|
|
RUN mkdir /docker-entrypoint-initdb.d
|
|
|
|
|
2018-01-22 07:51:27 +00:00
|
|
|
COPY docker_related_config.xml /etc/clickhouse-server/config.d/
|
2018-09-21 22:00:57 +00:00
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
|
|
|
|
|
|
RUN chmod +x \
|
|
|
|
/entrypoint.sh \
|
|
|
|
/bin/gosu
|
2016-06-15 16:50:33 +00:00
|
|
|
|
|
|
|
EXPOSE 9000 8123 9009
|
2017-02-28 17:12:45 +00:00
|
|
|
VOLUME /var/lib/clickhouse
|
2016-06-15 16:50:33 +00:00
|
|
|
|
|
|
|
ENV CLICKHOUSE_CONFIG /etc/clickhouse-server/config.xml
|
|
|
|
|
2018-09-21 22:00:57 +00:00
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
|
|