I want to write a Dockerfile in which I can specify the version of the extensions. But I have a problem when I run this docker file I get an error in timescale part
Error relocating /usr/bin/cmake: _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEv: symbol not found Error relocating /usr/bin/cmake: _ZSt28__throw_bad_array_new_lengthv: symbol not found The command '/bin/sh -c set -ex && apk add --no-cache --virtual .fetch-deps build-base ca-certificates git tar && apk add --no-cache --virtual .build-deps --repository http://dl-cdn.alpinelinux.org/alpine/edge/main --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing make cmake gcc clang clang-dev g++ llvm-dev dpkg dpkg-dev util-linux-dev libc-dev coreutils && apk add --no-cache --virtual .timescaledb-rundeps openssl libstdc++ openssl-dev && wget -O timescaledb.tar.gz "https://github.com/timescale/timescaledb/archive/$TIMESCALEDB_VERSION.tar.gz" && echo "$TIMESCALEDB_SHA256 timescaledb.tar.gz" | sha256sum -c - && mkdir -p /usr/src/timescaledb && tar --extract --file timescaledb.tar.gz --directory /usr/src/timescaledb --strip-components 1 && rm timescaledb.tar.gz && cd /usr/src/timescaledb && ./bootstrap -DPROJECT_INSTALL_METHOD="docker" -DREGRESS_CHECKS=OFF && cd ./build && make install && cd / && rm -rf /usr/src/timescaledb && apk del .fetch-deps .build-deps && sed -r -i "s/[#]\s*(shared_preload_libraries)\s*=\s*'(.)'/\1 = 'timescaledb,\2'/;s/,'/'/" /usr/local/share/postgresql/postgresql.conf.sample' returned a non-zero code: 127 ##[error]The command '/bin/sh -c set -ex && apk add --no-cache --virtual .fetch-deps build-base ca-certificates git tar && apk add --no-cache --virtual .build-deps --repository http://dl-cdn.alpinelinux.org/alpine/edge/main --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing make cmake gcc clang clang-dev g++ llvm-dev dpkg dpkg-dev util-linux-dev libc-dev coreutils && apk add --no-cache --virtual .timescaledb-rundeps openssl libstdc++ openssl-dev && wget -O timescaledb.tar.gz "https://github.com/timescale/timescaledb/archive/$TIMESCALEDB_VERSION.tar.gz" && echo "$TIMESCALEDB_SHA256 timescaledb.tar.gz" | sha256sum -c - && mkdir -p /usr/src/timescaledb && tar --extract --file timescaledb.tar.gz --directory /usr/src/timescaledb --strip-components 1 && rm timescaledb.tar.gz && cd /usr/src/timescaledb && ./bootstrap -DPROJECT_INSTALL_METHOD="docker" -DREGRESS_CHECKS=OFF && cd ./build && make install && cd / && rm -rf /usr/src/timescaledb && apk del .fetch-deps .build-deps && sed -r -i "s/[#]\s(shared_preload_libraries)\s*=\s*'(.*)'/\1 = 'timescaledb,\2'/;s/,'/'/" /usr/local/share/postgresql/postgresql.conf.sample' returned a non-zero code: 127 ##[error]The process '/usr/bin/docker' failed with exit code 127
could you please help me. Thanks
# https://github.com/docker-library/postgres/blob/master/13/alpine/Dockerfile
FROM postgres:13.4-alpine
# https://postgis.net/docs/manual-3.1/postgis_installation.html
ENV POSTGIS_VERSION 3.1.4
ENV POSTGIS_SHA256 dfcbad0c6090c80bc59d3ea77d1adc4b3ade533a403761b4af6d9a44be1a6e48
RUN set -ex \
\
&& apk add --no-cache --virtual .fetch-deps ca-certificates openssl tar \
\
&& wget -O postgis.tar.gz "https://github.com/postgis/postgis/archive/$POSTGIS_VERSION.tar.gz" \
&& echo "$POSTGIS_SHA256 *postgis.tar.gz" | sha256sum -c - \
&& mkdir -p /usr/src/postgis \
&& tar \
--extract \
--file postgis.tar.gz \
--directory /usr/src/postgis \
--strip-components 1 \
&& rm postgis.tar.gz \
\
&& apk add --no-cache --virtual .build-deps \
autoconf automake json-c-dev libtool libxml2-dev make perl llvm clang clang-dev \
\
&& apk add --no-cache --virtual .build-deps-edge \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
g++ gdal-dev geos-dev proj-dev protobuf-c-dev \
&& cd /usr/src/postgis \
&& ./autogen.sh \
&& ./configure \
&& make \
&& make install \
&& apk add --no-cache --virtual .postgis-rundeps \
json-c \
&& apk add --no-cache --virtual .postgis-rundeps-edge \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
geos gdal proj protobuf-c libstdc++ \
&& cd / \
&& rm -rf /usr/src/postgis \
&& apk del .fetch-deps .build-deps .build-deps-edge
# https://docs.timescale.com/timescaledb/latest/how-to-guides/install-timescaledb/self-hosted/ubuntu/installation-source
ENV TIMESCALEDB_VERSION 2.4.2
ENV TIMESCALEDB_SHA256 b206a376251259eb745eee819e7a853b3fbab9dc8443303714484a0fef89a2a4
RUN set -ex \
&& apk add --no-cache --virtual .fetch-deps \
build-base \
ca-certificates \
git \
tar \
&& apk add --no-cache --virtual .build-deps \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
make \
cmake \
gcc \
clang \
clang-dev \
g++ \
llvm-dev \
dpkg \
dpkg-dev \
util-linux-dev \
libc-dev \
coreutils \
&& apk add --no-cache --virtual .timescaledb-rundeps \
openssl \
libstdc++ \
openssl-dev \
\
&& wget -O timescaledb.tar.gz "https://github.com/timescale/timescaledb/archive/$TIMESCALEDB_VERSION.tar.gz" \
&& echo "$TIMESCALEDB_SHA256 *timescaledb.tar.gz" | sha256sum -c - \
&& mkdir -p /usr/src/timescaledb \
&& tar \
--extract \
--file timescaledb.tar.gz \
--directory /usr/src/timescaledb \
--strip-components 1 \
&& rm timescaledb.tar.gz \
\
&& cd /usr/src/timescaledb \
&& ./bootstrap -DPROJECT_INSTALL_METHOD="docker" -DREGRESS_CHECKS=OFF \
&& cd ./build && make install \
\
&& cd / \
&& rm -rf /usr/src/timescaledb \
&& apk del .fetch-deps .build-deps \
&& sed -r -i "s/[#]*\s*(shared_preload_libraries)\s*=\s*'(.*)'/\1 = 'timescaledb,\2'/;s/,'/'/" /usr/local/share/postgresql/postgresql.conf.sample
COPY ./init-postgis.sh /docker-entrypoint-initdb.d/1.postgis.sh
COPY ./init-timescaledb.sh /docker-entrypoint-initdb.d/2.timescaledb.sh
COPY ./init-postgres.sh /docker-entrypoint-initdb.d/3.postgres.sh