docker-compose 部署PostGIS

本文介绍了如何使用docker-compose.yml文件配置PostGIS容器,包括设置环境变量如数据库用户和密码,映射本地数据目录,以及在启动时创建PostGIS扩展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 目录
    ├─docker-compose.yml
    ├─postgis
  2. docker-compose.yml
version: '3'

services:
  postgis:
    image: kartoza/postgis  
    container_name: postgis
    restart: always     
    environment:         
      # POSTGRES_DB: mydatabase   
      POSTGRES_USER: root   
      POSTGRES_PASSWORD: 123456  
      ALLOW_IP_RANGE: 0.0.0.0/0
    ports:
      - "5432:5432"       
    volumes:              
      - ./postgis:/var/lib/postgresql   # 将本地 data 目录映射到容器内的 /var/lib/postgresql/data 目录
    networks:
      - net_postgis 
networks:
  net_postgis:
  1. docker-compose up -d
  2. 创建扩展
    CREATE EXTENSION postgis;
    在这里插入图片描述
### 安装 PostgreSQL 16 并添加 PostGIS 扩展 #### 准备工作 确保本地环境已安装 DockerDocker Compose。如果尚未安装,可以通过官方文档指导完成安装。 #### 编写 `docker-compose.yml` 文件 创建一个新的文件夹用于存放配置文件,在该文件夹下新建名为 `docker-compose.yml` 的文件,并编辑如下内容: ```yaml version: '3' services: db: image: postgis/postgis:16-4.0 container_name: postgres_postgis_db environment: POSTGRES_USER: user POSTGRES_PASSWORD: password POSTGRES_DB: mydb ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data volumes: pgdata: ``` 此配置指定了使用带有 PostGIS 支持的 PostgreSQL 镜像版本 16[^4]。 #### 启动服务并验证 保存上述 YAML 文件后,在命令行工具中切换到包含 `docker-compose.yml` 文件所在的目录执行以下指令来启动服务: ```bash docker-compose up -d ``` 这会以后台模式运行指定的服务实例。 等待片刻直到容器完全启动完毕之后,可以尝试连接至新建立好的数据库服务器以确认一切正常运作。通过客户端应用程序或者直接利用命令行访问均可实现这一目的。对于后者而言,则需先获取正在运行中的容器ID或名称再继续操作: ```bash docker ps ``` 找到对应的容器名(如前所述应为 `postgres_postgis_db`),随后输入下列语句进入交互界面: ```bash docker exec -it postgres_postgis_db bash psql -U user -d mydb ``` 此时应当能够顺利登录到目标库内;接着可进一步测试是否成功加载了所需的地理空间功能模块——只需简单调用一次函数即可得知详情: ```sql SELECT PostGIS_Version(); ``` 以上查询返回的结果应该显示出具体的 PostGIS 版本号以及所启用的功能选项列表[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值