编辑 Dockerfile
bash
# 使用原始镜像作为基础
FROM registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres:latest
# 设置环境变量避免安装过程中交互式提示
ENV DEBIAN_FRONTEND=noninteractive
# 安装 PostGIS 和相关依赖
RUN apt-get update && \
apt-get install -y --no-install-recommends \
postgresql-18-postgis-3 \
postgresql-18-postgis-3-scripts \
postgis \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
构建命令
bash
# 1. 创建 Dockerfile 文件
# 将上面的内容保存为 Dockerfile
# 2. 构建镜像
docker build -t registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres-with-gis:18.1 .
# 3. 如果需要推送到镜像仓库
docker login registry.cn-hangzhou.aliyuncs.com
docker push registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres-with-gis:18.1
运行容器、直接使用 docker run
bash
docker run -d \
--name postgres-gis \
-e POSTGRES_PASSWORD='Yo5WYypu0mCCheOU' \
-p 5432:5432 \
-v /data/postgres:/var/lib/postgresql \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres-with-gis:18.1
以包含 PostgreSQL 客户端工具、contrib 扩展和 pgvector 扩展:
bash
# 使用原始镜像作为基础
FROM registry.cn-hangzhou.aliyuncs.com/qiluo-images/postgres:latest
# 设置环境变量避免安装过程中交互式提示
ENV DEBIAN_FRONTEND=noninteractive
# 安装 PostgreSQL 客户端工具、contrib 扩展和 PostGIS
RUN apt-get update && \
apt-get install -y --no-install-recommends \
# PostgreSQL 客户端工具
postgresql-client \
# PostgreSQL contrib 扩展
postgresql-contrib \
# PostGIS 扩展
postgresql-18-postgis-3 \
postgresql-18-postgis-3-scripts \
postgis \
# pgvector 扩展(PostgreSQL 18 版本)
postgresql-18-pgvector \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*