43 lines
1.1 KiB
Docker
43 lines
1.1 KiB
Docker
# ====================================================
|
|
# 基于官方 PostgreSQL 18.1 镜像 + pgvector 扩展
|
|
# ====================================================
|
|
|
|
FROM postgres:18.1
|
|
|
|
# 设置维护者信息
|
|
LABEL maintainer="st-dev@example.com"
|
|
LABEL description="PostgreSQL 18.1 with pgvector extension"
|
|
|
|
# 安装依赖
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
git \
|
|
postgresql-server-dev-18 \
|
|
ca-certificates && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# 安装 pgvector 扩展
|
|
RUN cd /tmp && \
|
|
git clone --branch v0.7.4 https://github.com/pgvector/pgvector.git && \
|
|
cd pgvector && \
|
|
make && \
|
|
make install && \
|
|
cd / && \
|
|
rm -rf /tmp/pgvector
|
|
|
|
# 清理
|
|
RUN apt-get purge -y --auto-remove build-essential git postgresql-server-dev-18 && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# 设置时区
|
|
ENV TZ=Asia/Shanghai
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
|
|
# 暴露端口
|
|
EXPOSE 5432
|
|
|
|
# 使用默认的 PostgreSQL 入口点
|
|
CMD ["postgres"]
|