ClickHouse/docker/test/stateless/Dockerfile

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

104 lines
3.6 KiB
Docker
Raw Normal View History

# rebuild in #33610
2021-09-06 11:33:39 +00:00
# docker build -t clickhouse/stateless-test .
ARG FROM_TAG=latest
FROM clickhouse/test-base:$FROM_TAG
2018-11-07 19:25:02 +00:00
2024-02-22 13:30:21 +00:00
ARG odbc_driver_url="https://github.com/ClickHouse/clickhouse-odbc/releases/download/v1.1.6.20200320/clickhouse-odbc-1.1.6-Linux.tar.gz"
# golang version 1.13 on Ubuntu 20 is enough for tests
2018-11-07 19:25:02 +00:00
RUN apt-get update -y \
&& env DEBIAN_FRONTEND=noninteractive \
apt-get install --yes --no-install-recommends \
awscli \
2020-08-27 10:17:17 +00:00
brotli \
2022-10-05 01:24:49 +00:00
lz4 \
2018-11-07 19:25:02 +00:00
expect \
golang \
2020-08-27 10:17:17 +00:00
lsof \
mysql-client=8.0* \
2020-08-27 10:17:17 +00:00
ncdu \
netcat-openbsd \
nodejs \
npm \
odbcinst \
openjdk-11-jre-headless \
2020-08-27 10:17:17 +00:00
openssl \
postgresql-client \
2020-10-02 16:54:07 +00:00
python3 \
python3-pip \
2020-08-27 10:17:17 +00:00
qemu-user-static \
sqlite3 \
2018-11-07 19:25:02 +00:00
sudo \
2020-02-06 15:06:44 +00:00
tree \
unixodbc \
rustc \
cargo \
zstd \
2022-07-14 19:41:32 +00:00
file \
2023-09-07 12:59:33 +00:00
jq \
2022-08-10 17:41:29 +00:00
pv \
2023-07-31 13:27:06 +00:00
zip \
unzip \
2023-07-31 13:27:06 +00:00
p7zip-full \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /var/cache/debconf /tmp/*
2019-02-12 19:19:12 +00:00
ARG PROTOC_VERSION=25.1
RUN curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-x86_64.zip \
&& unzip protoc-${PROTOC_VERSION}-linux-x86_64.zip -d /usr/local \
&& rm protoc-${PROTOC_VERSION}-linux-x86_64.zip
2024-07-03 19:58:18 +00:00
COPY requirements.txt /
RUN pip3 install --no-cache-dir -r /requirements.txt
2020-10-14 18:52:23 +00:00
RUN mkdir -p /tmp/clickhouse-odbc-tmp \
2024-02-22 13:30:21 +00:00
&& cd /tmp/clickhouse-odbc-tmp \
&& curl -L ${odbc_driver_url} | tar --strip-components=1 -xz clickhouse-odbc-1.1.6-Linux \
&& mkdir /usr/local/lib64 -p \
&& cp /tmp/clickhouse-odbc-tmp/lib64/*.so /usr/local/lib64/ \
&& odbcinst -i -d -f /tmp/clickhouse-odbc-tmp/share/doc/clickhouse-odbc/config/odbcinst.ini.sample \
&& odbcinst -i -s -l -f /tmp/clickhouse-odbc-tmp/share/doc/clickhouse-odbc/config/odbc.ini.sample \
&& sed -i 's"=libclickhouseodbc"=/usr/local/lib64/libclickhouseodbc"' /etc/odbcinst.ini \
&& rm -rf /tmp/clickhouse-odbc-tmp
2018-11-07 19:25:02 +00:00
ENV TZ=Europe/Amsterdam
2018-11-07 19:25:02 +00:00
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ENV NUM_TRIES=1
2020-10-21 16:39:39 +00:00
ENV MAX_RUN_TIME=0
2022-06-10 16:11:45 +00:00
# Unrelated to vars in setup_minio.sh, but should be the same there
# to have the same binaries for local running scenario
2024-08-07 10:51:06 +00:00
ARG MINIO_SERVER_VERSION=2024-08-03T04-33-23Z
ARG MINIO_CLIENT_VERSION=2024-07-31T15-58-33Z
ARG TARGETARCH
2021-08-27 14:22:04 +00:00
# Download Minio-related binaries
RUN arch=${TARGETARCH:-amd64} \
2024-02-13 20:09:06 +00:00
&& curl -L "https://dl.min.io/server/minio/release/linux-${arch}/archive/minio.RELEASE.${MINIO_SERVER_VERSION}" -o ./minio \
&& curl -L "https://dl.min.io/client/mc/release/linux-${arch}/archive/mc.RELEASE.${MINIO_CLIENT_VERSION}" -o ./mc \
&& chmod +x ./mc ./minio
2021-08-27 14:22:04 +00:00
2024-02-13 20:09:06 +00:00
RUN curl -L --no-verbose -O 'https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz' \
&& tar -xvf hadoop-3.3.1.tar.gz \
&& rm -rf hadoop-3.3.1.tar.gz
2021-08-29 19:32:37 +00:00
ENV MINIO_ROOT_USER="clickhouse"
ENV MINIO_ROOT_PASSWORD="clickhouse"
2022-02-25 10:04:16 +00:00
ENV EXPORT_S3_STORAGE_POLICIES=1
ENV CLICKHOUSE_GRPC_CLIENT="/usr/share/clickhouse-utils/grpc-client/clickhouse-grpc-client.py"
2021-08-26 21:53:32 +00:00
2024-05-04 10:24:07 +00:00
RUN npm install -g azurite@3.30.0 \
&& npm install -g tslib && npm install -g node
2020-07-08 08:41:39 +00:00
COPY run.sh /
2021-08-26 21:53:32 +00:00
COPY setup_minio.sh /
COPY setup_hdfs_minicluster.sh /
COPY attach_gdb.lib /
COPY utils.lib /
# We store stress_tests.lib in stateless image to avoid duplication of this file in stress and upgrade tests
COPY stress_tests.lib /
2023-08-10 02:44:20 +00:00
2020-07-08 08:41:39 +00:00
CMD ["/bin/bash", "/run.sh"]