Можно ли добавить расширение pgvector поверх изображений postgres:15.3-alpine?

Я пытаюсь докеризовать pg-vector и нашел этот Dockerfile в официальном репозитории.https://github.com/pgvector/pgvector/blob/master/Dockerfile#L2C1-L3C1

Dockerfile в настоящее время использует базовое изображение Postgres, мне интересно, могу ли я добавить расширение pgvector поверх изображений Alpine. Если нет, то какие еще возможные варианты?

2 ответа

Мне помогло это расширение образа докера Alpine:

      $ cat Dockerfile
FROM postgres:14.4-alpine AS pgvector-builder
RUN apk add git
RUN apk add build-base
RUN apk add clang
RUN apk add llvm13-dev
WORKDIR /home
RUN git clone --branch v0.4.4 https://github.com/pgvector/pgvector.git
WORKDIR /home/pgvector
RUN make
RUN make install

FROM postgres:14.4-alpine
COPY --from=pgvector-builder /usr/local/lib/postgresql/bitcode/vector.index.bc /usr/local/lib/postgresql/bitcode/vector.index.bc
COPY --from=pgvector-builder /usr/local/lib/postgresql/vector.so /usr/local/lib/postgresql/vector.so
COPY --from=pgvector-builder /usr/local/share/postgresql/extension /usr/local/share/postgresql/extension

$ docker build -t postgres:14.4-alpine-pgvector .

Ниже приведены обновленные инструкции для новых альпийских изображений на основе ответа deed02392.

      ARG PGGDOCKERTAG=13-alpine3.17
FROM postgres:$PGGDOCKERTAG AS pgvector-builder
RUN apk add git
RUN apk add build-base
RUN apk add clang
RUN apk add llvm15-dev llvm15
WORKDIR /home
RUN git clone --branch v0.4.4 https://github.com/pgvector/pgvector.git
WORKDIR /home/pgvector
RUN make
RUN make install

FROM postgres:$PGGDOCKERTAG
COPY --from=pgvector-builder /usr/local/lib/postgresql/bitcode/vector.index.bc /usr/local/lib/postgresql/bitcode/vector.index.bc
COPY --from=pgvector-builder /usr/local/lib/postgresql/vector.so /usr/local/lib/postgresql/vector.so
COPY --from=pgvector-builder /usr/local/share/postgresql/extension /usr/local/share/postgresql/extension
Другие вопросы по тегам