docker 離線安裝postgres+postgis實踐

文章目錄

  • 前言
  • 一、離線安裝docker
  • 二、導出導入PG鏡像
    • 1.導出
    • 2.導入
  • 三、啟動容器
  • 四、驗證與測試


前言

在企業內網環境中部署地理信息系統(GIS)時,常常面臨網絡隔離導致無法在線拉取 Docker 鏡像的問題。
本文將詳細介紹如何通過離線方式完成 PostgreSQL+PostGIS 的完整部署。

一、離線安裝docker

安裝docker

二、導出導入PG鏡像

如果我們的目標服務器是內網,那么沒辦法pull鏡像。我們可以在其它環境pull鏡像后,導出來,然后再傳到目標服務器。離線安裝好docker容器后,在導入。這里直接提供PG鏡像(內含postgis),下載即可。沒有積分的私信我,澆個朋友。

PG_VERSION=14.5-1
POSTGIS_VERSION=3.2.3

1.導出

#查看要導出的鏡像
docker images
#導出
docker save postgis/postgis -o pg_14-3.2.tar

2.導入

docker load -i pg_14-3.2.tar

三、啟動容器

創建數據卷,保存容器內數據

docker volume create postgis_data;

通過在 /etc/docker/daemon.json 中設置 data-root 參數,就已經將 Docker 的默認存儲路徑從 /var/lib/docker 修改為 /data/server/docker。這意味著:

  1. 所有數據卷(volumes) 將存儲在 /data/server/docker/volumes/ 目錄下
  2. 鏡像(images) 和 容器(containers) 的數據也會存儲在該路徑下的對應子目錄
  3. 之前創建的 postgis_data 卷會被移動到新路徑(如果在修改配置前已創建,則需要重啟 Docker 后生效)

啟動容器

docker run -d \--privileged \--restart always \-e ALLOW_IP_RANGE=0.0.0.0/0 \-e POSTGRES_USER=system \-e POSTGRES_PASSWORD=liaoning@Gsafety.123 \-p 54321:5432 \--name postgis \-v postgis_data:/var/lib/postgresql/data \【鏡像id】;
  1. docker run: 運行一個新的容器。
  2. -d: 在后臺運行容器,即以守護進程方式運行。
  3. --privileged: 賦予容器特權,可以執行一些特殊操作,如訪問宿主機的設備。
  4. --restart always: 設置容器的重啟策略為始終自動重啟。
  5. ALLOW_IP_RANGE=0.0.0.0/0 : 允許所有ip訪問
  6. -p 54321:5432: 將容器內部的 5432 端口映射到宿主機的 54321 端口,用于訪問 PostgreSQL 數據庫。
  7. --name postgis: 為容器指定一個名稱,即 “postgis”。
  8. -v postgis_data:/var/lib/postgresql/data: 創建一個數據卷,將容器內的 /var/lib/postgresql/data 目錄掛載到名為 “postgis_data” 的數據卷上,用于持久化存儲數據庫數據。
  9. -e POSTGRES_USER=postgres: 指定用戶名
  10. -e POSTGRES_PASSWORD=Postgis@123: 設置 PostgreSQL 數據庫的密碼為 “Postgis@123”,通過環境變量傳遞給容器。
  11. 【鏡像id】: docker images 查看。

四、驗證與測試

# 進入容器內部
docker exec -it postgis bash# 注意密碼需要用單引號包裹,避免 @ 被解析 -U 用戶名 -d 數據庫名
psql -h localhost -p 5432 -U postgres -d postgres -W# 輸入密碼:Postgis@123# 驗證PostGIS擴展
SELECT PostGIS_Version();

外部鏈接測試直接navicat鏈接即可,注意服務器防火墻是否關閉。


在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/90213.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/90213.shtml
英文地址,請注明出處:http://en.pswp.cn/web/90213.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

視頻、音頻錄制

1,項目介紹。 實現全屏錄屏、選擇區域錄屏、攝像頭錄像、麥克風錄音、主板音頻錄音、截屏畫板的自由組合。并通過FFmpeg完成音頻與視頻的合并。 功能界面 畫板畫筆 參考的項目 https://github.com/yangjinming1062/RecordWin 本項目是在此項目的基礎上修復了部…

Linux文件系統理解1

目錄一、初步理解系統層面的文件1. 文件操作的本質2. 進程管理文件核心思想二、系統調用層1. 打開關閉文件函數2. 讀寫文件函數三、操作系統文件管理1. 文件管理機制2. 硬件管理機制四、理解重定向1. 文件描述符分配規則2. 重定向系統調用3. 重定向命令行調用五、理解緩沖區1. …

科技向善,銀發向暖:智慧養老與經濟共筑適老未來

人口老齡化是當今中國社會面臨的重大課題,也是推動社會變革與經濟轉型的重要引擎。隨著數字技術的飛速發展,“智慧養老”正以科技向善的溫度,為老年群體構建更舒適、更安全、更有尊嚴的晚年生活,同時為銀發經濟注入蓬勃活力&#…

numpy庫 降維,矩陣創建與元素的選取,修改

目錄 1.降維函數ravel()和flatten ravel(): flatten(): 2.矩陣存儲與內存結構 3.修改矩陣形狀的方法 4.特殊矩陣創建 全零矩陣: 如np.zeros(5) 創建含5個零的一維數組,輸出中零后的點(如 0.)表示浮點數類型。 全一矩陣:如n…

SpringCloud seata全局事務

項目https://github.com/apache/incubator-seata docker拉取啟動server $ docker run --name seata-server -p 8091:8091 apache/seata-server:2.1.0 seata注冊到nacos <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-…

OpenLayers 快速入門(八)事件系統

看過的知識不等于學會。唯有用心總結、系統記錄&#xff0c;并通過溫故知新反復實踐&#xff0c;才能真正掌握一二 作為一名摸爬滾打三年的前端開發&#xff0c;開源社區給了我飯碗&#xff0c;我也將所學的知識體系回饋給大家&#xff0c;助你少走彎路&#xff01; OpenLayers…

【Linux | 網絡】應用層(HTTPS)

目錄一、HTTPS的概念二、準備概念2.1 什么是加密和解密2.2 為什么要加密2.3 常見的加密方式2.3.1 對稱加密2.3.1 非對稱加密2.4 數據摘要&&數據指紋三、HTTPS理解過程3.1 只使用對稱加密3.2 只使用非對稱加密3.3 雙方都使用非對稱加密3.4 對稱加密 非對稱加密3.5 中間…

GRE協議

一、實驗拓撲二、實驗配置1、靜態路由實現GRERT1配置&#xff1a;RT1(config)# int fa1/0RT1(config-if)# ip add 192.168.20.1 255.255.255.0RT1(config-if)# no shutdownRT1(config)# int fa0/0RT1(config-if)# ip add 172.1.1.2 255.255.255.0RT1(config-if)# no shutdownRT…

JDialong彈窗

public class DialogDemo extends JFrame {public DialogDemo(){this.setVisible(true);this.setSize(700,500);this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//JFrame 放東西&#xff0c;容器Container contentPane this.getContentPane();//絕對布局conte…

tlias智能學習輔助系統--違紀處理(實戰)

目錄 1.StudentController.java 2.interface StudentService 3.StudentServiceImpl.java 4.interface StudentMapper 1.StudentController.java // 違紀處理PutMapping("/violation/{id}/{score}")Operation(summary "違紀處理")public Result violat…

傳統RNN模型筆記:輸入數據長度變化的結構解析

一、案例背景 本案例通過PyTorch的nn.RNN構建單隱藏層RNN模型&#xff0c;重點展示RNN對變長序列數據的處理能力&#xff08;序列長度從1變為20&#xff09;&#xff0c;幫助理解RNN的輸入輸出邏輯。 二、核心代碼與結構拆解 def dm_rnn_for_sequencelen():# 1. 定義RNN模型rnn…

OpenLayers 快速入門(四)View 對象

看過的知識不等于學會。唯有用心總結、系統記錄&#xff0c;并通過溫故知新反復實踐&#xff0c;才能真正掌握一二 作為一名摸爬滾打三年的前端開發&#xff0c;開源社區給了我飯碗&#xff0c;我也將所學的知識體系回饋給大家&#xff0c;助你少走彎路&#xff01; OpenLayers…

測試左移方法論

測試左移&#xff08;Shift-Left Testing&#xff09;?是一種軟件測試方法論&#xff0c;核心思想是將測試活動從傳統的開發后期&#xff08;如系統測試、驗收測試階段&#xff09;提前到軟件生命周期的更早期階段&#xff08;如需求分析、設計、編碼階段&#xff09;&#xf…

OpenCV(01)基本圖像操作、繪制,讀取視頻

圖像基礎 import cv2 as cv#讀取圖像 cv.imread(path,讀取方式)默認讀為彩色圖像 #cv.imread(path) cat cv.imread(E:\hqyj\code\opencv\images\\face.png)#顯示圖像 cv.imshow(window,img) cv.imshow(myimg,cat)print(cat) print(cat.shape) #(h,w,c) 元組(1,1) print(cat…

biji 1

1.應用層&#xff1a;為應用程序提供網絡服務。2.表示層&#xff1a;定義數據的格式&#xff0c;對數據進行壓縮、解壓縮、加密、解密、編碼、解碼。3.會話層&#xff1a;對通信雙方間的會話進行建立、維護、拆除-----session id---區分同一應用程序的不同進程4.傳輸層&#x…

mongodb的備份和還原(精簡)

1 官網下載對應版本msi2 運行msi mongodb-database-tools-windows-x86_64-100.12.2.msi3 將安裝地址加到環境變量 C:\Program Files\MongoDB\Tools\100\bin4 查看version mongodump --version mongorestore --version5 運行 備份命令 mongodump --host 127.0.0.1 --db dbname--…

Mac安裝Typescript報錯

目錄 Mac上安裝Typescript報錯: 原因分析 1. 默認 npm 全局安裝目錄的權限問題 2. Node.js 的安裝方式 如何解決?(無需每次用 `sudo`) 方法 1:修改 npm 全局目錄的權限(推薦) 方法 2:配置 npm 使用用戶級目錄 方法 3:使用 `nvm` 管理 Node.js(最推薦) 為什么建議避免…

spring-cloud概述

單體架構 把業務的所有功能實現都打包在一個war包或者jar包&#xff0c;這種方式就成為單體架構。 比如Spring課程中的博客系統,前端后端數據庫實現&#xff0c;都在一個項目中&#xff0c;這種架構就稱為單體架構. 舉個例子&#xff1a; 比如在電商系統中&#xff0c;我們…

android ROOM kotlin官方文檔完全學習

android ROOM kotlin官方文檔完全學習2.6 使用 Room 將數據保存到本地數據庫 | Android Developers (google.cn) 一、簡介 1.1 引入 dependencies {def room_version "2.6.1"implementation "androidx.room:room-runtime:$room_version"//如下三選一a…

DOM編程全解析:操作、事件與存儲實戰指南

引言&#xff1a;DOM——JavaScript與網頁交互的橋梁 DOM&#xff08;文檔對象模型&#xff09; 是JavaScript操作HTML/XML文檔的接口&#xff0c;它將網頁文檔抽象為一個樹形結構&#xff0c;允許開發者通過API動態修改文檔的內容、結構和樣式。無論是實現動態交互&#xff0…