generated from tyler/Generic-Template
Add dockerfile
This commit is contained in:
parent
b5ac02d8a4
commit
3e5fa5139d
44
Dockerfile
Normal file
44
Dockerfile
Normal file
@ -0,0 +1,44 @@
|
||||
# Build container
|
||||
FROM debian:bullseye-slim as builder
|
||||
|
||||
# Update package lists and install necessary packages in the build container
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends git build-essential ca-certificates && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Clone the specific version of the pgvector repository
|
||||
RUN git clone --branch v0.4.1 https://github.com/pgvector/pgvector.git /tmp/pgvector
|
||||
|
||||
# Build pgvector
|
||||
RUN cd /tmp/pgvector && \
|
||||
make
|
||||
|
||||
# Final base image
|
||||
FROM bitnami/postgresql:16.0.0-debian-11-r3
|
||||
|
||||
# Switch to root to install packages and make directories
|
||||
USER 0
|
||||
|
||||
# Ensure the package manager is functional and install build tools in the final image
|
||||
RUN mkdir -p /var/lib/apt/lists/partial && \
|
||||
apt-get clean && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends make gcc libc6-dev ca-certificates && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy the pgvector build from the builder stage
|
||||
COPY --from=builder /tmp/pgvector /tmp/pgvector
|
||||
|
||||
# Install pgvector in the final image
|
||||
RUN export PG_CONFIG=/opt/bitnami/postgresql/bin/pg_config && \
|
||||
cd /tmp/pgvector && \
|
||||
make install && \
|
||||
make clean
|
||||
|
||||
# Cleanup the build tools to keep the image lean
|
||||
RUN apt-get remove -y make gcc libc6-dev && \
|
||||
apt-get autoremove -y && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
USER 1001
|
Loading…
Reference in New Issue
Block a user