# JNPF PG 迁移标准镜像(方案见 docs/pg-migration-plan.md §1/§4)
|
# 基底:SWR 搬运的官方 postgres:18.4(= Docker Hub 18.4-trixie,Debian 13 + PG 18.4-1.pgdg13+1,
|
# 实测 os-release/PG_VERSION 一致,2026-07-17 切换)。SWR 无 -trixie 后缀 tag、单架构 amd64——
|
# 本镜像经 compose `platform: linux/amd64` 恒定 amd64 构建,无需业务基座那样的 ARG 双轨。
|
# 2026-07-14 决策修订:业务无 GIS 需求,弃用 postgis/postgis 基底(省 ~200MB、
|
# 供应链更干净);将来需要地图能力时换回 postgis 基底重打即可。
|
#
|
# 构建机残余外部依赖(现场零依赖,产物随离线包走):Debian/PGDG apt + GitHub pg_bigm 源码。
|
# pg_bigm:PGDG apt 无此包,从官方上游源码编译(v1.2-20250903 起支持 PG18)。
|
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:18.4 AS pg_bigm_builder
|
|
# Debian apt 换华为云镜像(209MB 工具链的大头提速;debian.sources=Debian 13 deb822 格式)。
|
# PGDG 保留官方 apt.postgresql.org:其 trixie-pgdg 用版本化组件(main + '18'),国内镜像站
|
# 普遍只同步 main 缺 '18'(华为云实测缺,TUNA 全但测试服务器 https 不通);官方源包量小
|
# (server-dev-18+pgvector 约 2MB)且测试服务器实测可达。GitHub 浅克隆 ~100KB 不处理。
|
RUN sed -i 's|deb.debian.org|mirrors.huaweicloud.com|g' /etc/apt/sources.list.d/debian.sources
|
|
RUN apt-get update \
|
&& apt-get install -y --no-install-recommends \
|
build-essential \
|
postgresql-server-dev-18 \
|
libicu-dev \
|
git \
|
ca-certificates \
|
&& git clone --depth 1 --branch v1.2-20250903 \
|
https://github.com/pgbigm/pg_bigm.git /tmp/pg_bigm \
|
&& make -C /tmp/pg_bigm USE_PGXS=1 PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config \
|
&& make -C /tmp/pg_bigm USE_PGXS=1 PG_CONFIG=/usr/lib/postgresql/18/bin/pg_config install
|
|
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/postgres:18.4
|
|
# Debian 换华为云镜像,同 builder 阶段(PGDG 保留官方,理由见上)
|
RUN sed -i 's|deb.debian.org|mirrors.huaweicloud.com|g' /etc/apt/sources.list.d/debian.sources
|
|
RUN apt-get update \
|
&& apt-get install -y --no-install-recommends \
|
postgresql-18-pgvector \
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY --from=pg_bigm_builder /usr/lib/postgresql/18/lib/pg_bigm.so /usr/lib/postgresql/18/lib/
|
COPY --from=pg_bigm_builder /usr/share/postgresql/18/extension/pg_bigm* /usr/share/postgresql/18/extension/
|