最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker部署PostgreSQL+PostGIS服務的實現(xiàn)

 更新時間:2025年12月26日 09:33:11   作者:MatrixExplore  
本文介紹了如何使用Docker快速部署PostgreSQL,并手動安裝PostGIS模塊,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

引言

在進行空間數(shù)據(jù)開發(fā)、GIS 數(shù)據(jù)處理或數(shù)據(jù)科學任務時,PostgreSQL 是一款非常受歡迎的開源數(shù)據(jù)庫,而其擴展模塊 PostGIS 更是為其帶來了強大的地理空間支持。
本文將介紹如何使用 Docker 快速部署 PostgreSQL,并手動安裝 PostGIS 模塊,實現(xiàn)一個可持久化的空間數(shù)據(jù)庫服務。

為什么選擇 Docker 部署 PostgreSQL?
Docker 可以讓我們以容器化方式快速啟動數(shù)據(jù)庫服務,避免繁瑣的環(huán)境配置過程,具有如下優(yōu)點:

  • 快速啟動、重啟和銷毀數(shù)據(jù)庫服務
  • 容器與宿主環(huán)境隔離,配置安全清晰
  • 配置持久化,支持掛載宿主機目錄保存數(shù)據(jù)
  • 易于遷移、復制和多平臺部署

接下來我們就一步步完成部署!

拉取鏡像

使用 docker pull 命令從 Docker Hub 拉取 PostgreSQL 官方鏡像,這里我們以最新的 16 版本為例:

docker pull postgres:16.2

運行容器

方法1:docker直接運行

通過以下命令運行 PostgreSQL 容器,并進行以下設置:

  • 設置容器名稱為 postgres
  • 配置數(shù)據(jù)庫密碼為 123456
  • 將宿主機目錄 /opt/postgres/data 掛載到容器內(nèi)部的數(shù)據(jù)庫目錄,實現(xiàn)數(shù)據(jù)持久化
  • 映射主機的 5432 端口
docker run -d \
  --name postgres \
  -e POSTGRES_PASSWORD=123456 \
  -v /opt/postgres/data:/var/lib/postgresql/data \
  -p 5432:5432 \
  postgres:16.2

?? 注意事項:

  • 請確保宿主機 /opt/postgres/data 目錄存在,并具有適當權限
  • 如果已有其他服務占用 5432 端口,請修改映射端口

方法2:docker-compose

  • 編寫docker-compose.yml文件:
services:
  postgres:
    image: postgres:16.2
    container_name: postgres
    restart: unless-stopped
    ports:
      - "5432:5432"
    volumes:
      - /opt/postgres/data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: 123456
  • 啟動容器
    在docker-compose.yml文件所在的目錄下,打開終端或命令行界面,運行以下命令:
docker-compose up -d

安裝PostGIS模塊

PostGIS 并不默認包含在 PostgreSQL 鏡像中,因此需要我們手動進入容器并安裝。

  1. 進入容器:
docker exec -it postgres /bin/bash
  1. 更新 apt 包索引:
apt-get update

這里如果用國內(nèi)源會速度快些

tee /etc/apt/sources.list.d/debian.sources >/dev/null <<'EOF'
Types: deb
URIs: http://mirrors.aliyun.com/debian
Suites: bookworm bookworm-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: http://mirrors.aliyun.com/debian-security
Suites: bookworm-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
  1. 安裝 PostGIS 模塊:
apt-get install -y postgis postgresql-16-postgis-3

postgresql-16-postgis-3 是對應 PostgreSQL 16 的 PostGIS 模塊名稱
如果你使用其他版本,請根據(jù)版本號調整命令

  1. 驗證PostGIS是否成功安裝:
  • 進入PostgreSQL數(shù)據(jù)庫
psql -U postgres
  • 默認進入的是 postgres 數(shù)據(jù)庫,你也可以在后面指定目標數(shù)據(jù)庫:
psql -U postgres -d your_database
  • 執(zhí)行創(chuàng)建擴展
CREATE EXTENSION postgis;
  • 查看擴展版本
SELECT PostGIS_Version();
  • 正確會輸出類似以下信息:
postgis_version
-------------------
3.4 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

直接部署PostGIS容器

當然,我們也可以采用dockerhub上的PostGIS鏡像來進行部署。

docker pull postgis/postgis:11-3.3
docker run --restart=always -d --name postgis \
-p 5432:5432 \
-v /mnt/data/docker/volumes/postgis/data/:/var/lib/postgresql/data/ \
-e POSTGRES_PASSWORD=123456 postgis/postgis:11-3.3

總結

通過本文,我們已經(jīng)完成了使用Docker快速部署PostgreSQL16,并且實現(xiàn)數(shù)據(jù)持久化掛載,同時安裝并驗證PostGIS模塊。
后續(xù)我們可以:
使用 pgAdmin 可視化管理工具連接容器數(shù)據(jù)庫,并進行一系列的數(shù)據(jù)庫操作啦。
如果在安裝過程中遇到任何問題,歡迎留言交流。

到此這篇關于Docker部署PostgreSQL+PostGIS服務的實現(xiàn)的文章就介紹到這了,更多相關Docker部署PostgreSQL+PostGIS服務內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • docker存儲目錄遷移示例教程

    docker存儲目錄遷移示例教程

    隨著docker的使用時間越來越長,導致鏡像和容器越來越多,占滿了系統(tǒng)盤空間,這時,我們需要給它們搬個家了,這篇文章主要介紹了docker存儲目錄遷移教程,需要的朋友可以參考下
    2023-06-06
  • Docker常用命令與小技巧匯總

    Docker常用命令與小技巧匯總

    這篇文章主要給大家介紹了關于Docker常用命令與小技巧的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Docker具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-10-10
  • docker部署nodejs開發(fā)環(huán)境詳細步驟(基礎示例篇)

    docker部署nodejs開發(fā)環(huán)境詳細步驟(基礎示例篇)

    這篇文章主要給大家介紹了docker部署nodejs開發(fā)環(huán)境詳細步驟,docker是一個開源的應用容器引擎,可以為我們提供安全、可移植、可重復的自動化部署的方式,需要的朋友可以參考下
    2023-10-10
  • Docker run流程及鏡像的基本命令詳解

    Docker run流程及鏡像的基本命令詳解

    本文主要介紹了Docker中run流程及鏡像的基本命令,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Docker多階段鏡像構建的實現(xiàn)

    Docker多階段鏡像構建的實現(xiàn)

    本篇文章主要介紹了Docker多階段鏡像構建的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • docker容器內(nèi)缺少命令的簡單解決辦法

    docker容器內(nèi)缺少命令的簡單解決辦法

    有時候在docker容器里面不僅沒有你期望的那些常用的命令,甚至沒有yum命令讓你去安裝那些常用的命令,下面這篇文章主要給大家介紹了關于docker容器內(nèi)缺少命令的簡單解決辦法,需要的朋友可以參考下
    2023-03-03
  • docker中的jenkins配置sonarQube的過程

    docker中的jenkins配置sonarQube的過程

    SonarQube是一個開源的代碼分析平臺,用來持續(xù)分析和評測項目源代碼的質量,通過SonarQube可以檢測出項目中重復代碼,潛在bug,?代碼規(guī)范,安全性漏洞等問題,并通過SonarQube?web?UI展示出來,這篇文章主要介紹了docker中的jenkins配置sonarQube,需要的朋友可以參考下
    2023-08-08
  • Docker前后端項目部署完整步驟記錄

    Docker前后端項目部署完整步驟記錄

    最近的開發(fā)中也確實體會到了這一好處,因為我們項目涉及給客戶私有化部署及演示等,使用 Docker 部署,在鏡像導出遷移方面很方便,這篇文章主要給大家介紹了關于Docker前后端項目部署的相關資料,需要的朋友可以參考下
    2024-04-04
  • Docker中mysql鏡像保存與導入的方法詳解

    Docker中mysql鏡像保存與導入的方法詳解

    Docker 的 MySQL 鏡像保存通常有兩種場景:一種是保存鏡像本身的修改(如配置、初始化數(shù)據(jù)),另一種是持久化保存容器運行時產(chǎn)生的數(shù)據(jù)(如數(shù)據(jù)庫表、用戶數(shù)據(jù)),這篇文章主要介紹了Docker中mysql鏡像保存與導入的方法詳解,需要的朋友可以參考下
    2025-05-05
  • Docker volume 掛載卷的實現(xiàn)方法

    Docker volume 掛載卷的實現(xiàn)方法

    這篇文章主要介紹了Docker volume 掛載卷的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03

最新評論

淮阳县| 波密县| 东阳市| 兴仁县| 镇康县| 岑溪市| 东阳市| 宁城县| 原平市| 墨脱县| 高要市| 奉化市| 昆明市| 额敏县| 思茅市| 固阳县| 济源市| 宁强县| 宁德市| 比如县| 容城县| 余江县| 招远市| 秦皇岛市| 原平市| 青浦区| 安塞县| 黄梅县| 柳江县| 繁峙县| 宁德市| 临城县| 元氏县| 伊金霍洛旗| 上虞市| 锡林郭勒盟| 清流县| 句容市| 吉林市| 乌鲁木齐县| 伊春市|