| ADD alpine-minirootfs-3.23.3-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 TZ=UTC CLICKHOUSE_CONFIG=/etc/clickhouse-server/config.xml |
| COPY /lib/linux-gnu/libc.so.6 /lib/linux-gnu/libdl.so.2 /lib/linux-gnu/libm.so.6 /lib/linux-gnu/libpthread.so.0 /lib/linux-gnu/librt.so.1 /lib/linux-gnu/libnss_dns.so.2 /lib/linux-gnu/libnss_files.so.2 /lib/linux-gnu/libresolv.so.2 /lib/linux-gnu/ld-2.35.so /lib/ # buildkit |
| COPY /etc/nsswitch.conf /etc/ # buildkit |
| COPY docker_related_config.xml /etc/clickhouse-server/config.d/ # buildkit |
| COPY entrypoint.sh /entrypoint.sh # buildkit |
| ARG TARGETARCH=amd64 |
| RUN |1 TARGETARCH=amd64 /bin/sh -c arch=${TARGETARCH:-amd64} && case $arch in amd64) mkdir -p /lib64 && ln -sf /lib/ld-2.35.so /lib64/ld-linux-x86-64.so.2 ;; arm64) ln -sf /lib/ld-2.35.so /lib/ld-linux-aarch64.so.1 ;; esac # buildkit |
| ARG REPO_CHANNEL=stable |
| ARG REPOSITORY=https://packages.clickhouse.com/tgz/stable |
| ARG VERSION=26.2.5.45 |
| ARG PACKAGES=clickhouse-client clickhouse-server clickhouse-common-static |
| ARG DIRECT_DOWNLOAD_URLS= |
| ARG DEFAULT_UID=101 |
| ARG DEFAULT_GID=101 |
| RUN |8 TARGETARCH=amd64 REPO_CHANNEL=stable REPOSITORY=https://packages.clickhouse.com/tgz/stable VERSION=26.2.5.45 PACKAGES=clickhouse-client clickhouse-server clickhouse-common-static DIRECT_DOWNLOAD_URLS= DEFAULT_UID=101 DEFAULT_GID=101 /bin/sh -c addgroup -S -g "${DEFAULT_GID}" clickhouse && adduser -S -h "/var/lib/clickhouse" -s /bin/bash -G clickhouse -g "ClickHouse server" -u "${DEFAULT_UID}" clickhouse # buildkit |
| RUN |8 TARGETARCH=amd64 REPO_CHANNEL=stable REPOSITORY=https://packages.clickhouse.com/tgz/stable VERSION=26.2.5.45 PACKAGES=clickhouse-client clickhouse-server clickhouse-common-static DIRECT_DOWNLOAD_URLS= DEFAULT_UID=101 DEFAULT_GID=101 /bin/sh -c arch=${TARGETARCH:-amd64} && cd /tmp && if [ -n "${DIRECT_DOWNLOAD_URLS}" ]; then echo "installing from provided urls with tgz packages: ${DIRECT_DOWNLOAD_URLS}" && for url in $DIRECT_DOWNLOAD_URLS; do echo "Get ${url}" && wget -c -q "$url" ; done else for package in ${PACKAGES}; do echo "Get ${REPOSITORY}/${package}-${VERSION}-${arch}.tgz" && wget -c -q "${REPOSITORY}/${package}-${VERSION}-${arch}.tgz" && wget -c -q "${REPOSITORY}/${package}-${VERSION}-${arch}.tgz.sha512" ; done fi && cat *.tgz.sha512 | sed 's:/output/:/tmp/:' | sha512sum -c && for file in *.tgz; do if [ -f "$file" ]; then echo "Unpacking $file"; tar xvzf "$file" --strip-components=1 -C /; fi ; done && rm /tmp/*.tgz /install -r && chmod +x /entrypoint.sh && apk add --no-cache bash tzdata && cp /usr/share/zoneinfo/UTC /etc/localtime && echo "UTC" > /etc/timezone # buildkit |
| ARG DEFAULT_CLIENT_CONFIG_DIR=/etc/clickhouse-client |
| ARG DEFAULT_SERVER_CONFIG_DIR=/etc/clickhouse-server |
| ARG DEFAULT_DATA_DIR=/var/lib/clickhouse |
| ARG DEFAULT_LOG_DIR=/var/log/clickhouse-server |
| RUN |12 TARGETARCH=amd64 REPO_CHANNEL=stable REPOSITORY=https://packages.clickhouse.com/tgz/stable VERSION=26.2.5.45 PACKAGES=clickhouse-client clickhouse-server clickhouse-common-static DIRECT_DOWNLOAD_URLS= DEFAULT_UID=101 DEFAULT_GID=101 DEFAULT_CLIENT_CONFIG_DIR=/etc/clickhouse-client DEFAULT_SERVER_CONFIG_DIR=/etc/clickhouse-server DEFAULT_DATA_DIR=/var/lib/clickhouse DEFAULT_LOG_DIR=/var/log/clickhouse-server /bin/sh -c mkdir -p "${DEFAULT_DATA_DIR}" "${DEFAULT_LOG_DIR}" "${DEFAULT_CLIENT_CONFIG_DIR}" "${DEFAULT_SERVER_CONFIG_DIR}/config.d" "${DEFAULT_SERVER_CONFIG_DIR}/users.d" /docker-entrypoint-initdb.d && chown clickhouse:clickhouse "${DEFAULT_DATA_DIR}" && chown root:clickhouse "${DEFAULT_LOG_DIR}" && chmod ugo+Xrw -R "${DEFAULT_DATA_DIR}" "${DEFAULT_LOG_DIR}" "${DEFAULT_CLIENT_CONFIG_DIR}" "${DEFAULT_SERVER_CONFIG_DIR}" # buildkit |
| VOLUME [/var/lib/clickhouse] |
| EXPOSE [8123/tcp 9000/tcp 9009/tcp] |
| ENTRYPOINT ["/entrypoint.sh"] |
| COPY config.xml /etc/clickhouse-server/config.d/custom.xml # buildkit |
| COPY users.xml /etc/clickhouse-server/users.d/custom.xml # buildkit |
| COPY init.sql /docker-entrypoint-initdb.d/init.sql # buildkit |