Docker 部署 PostgreSQL 數據庫

Docker 部署 PostgreSQL 數據庫

  • 基于 Docker 部署 PostgreSQL 數據庫
    • 一、拉取 PostgreSQL 鏡像
    • 二、運行 PostgreSQL 容器
    • 三、運行命令參數詳解
    • 四、查看容器運行狀態

基于 Docker 部署 PostgreSQL 數據庫

一、拉取 PostgreSQL 鏡像

首先,確保你的 Docker 環境已正確安裝并運行。打開終端,通過以下命令拉取 PostgreSQL 鏡像:

docker pull postgres

執行上述命令后,Docker 會從官方鏡像倉庫下載 PostgreSQL 鏡像到本地。根據網絡狀況,下載過程可能需要一些時間。

二、運行 PostgreSQL 容器

使用以下命令運行 PostgreSQL 容器:

docker run --name [容器名稱] -e POSTGRES_PASSWORD=[數據庫密碼] -e POSTGRES_DB=[數據庫名稱] -p [宿主機端口]:5432 -v [宿主機目錄]:/var/lib/postgresql/data --memory="[內存限制]" --cpuset-cpus="[CPU 核心]" -d postgres

例如:

docker run --name my_postgres -e POSTGRES_PASSWORD="your_password_placeholder" -e POSTGRES_DB="your_db_name_placeholder" -p 5432:5432 -v ~/data/pgsql/data:/var/lib/postgresql/data --memory="2gb" --cpuset-cpus="0" -d postgres

三、運行命令參數詳解

  1. –name :為容器指定一個名稱,方便后續管理和識別。例如,將容器命名為 “my_postgres”。
  2. -e POSTGRES_PASSWORD :設置 PostgreSQL 數據庫的密碼。在這里,我們將其設置為 “your_password_placeholder”,實際使用時請替換為你自己的密碼。
  3. -e POSTGRES_DB :創建數據庫的名稱。此命令示例中設置為 “your_db_name_placeholder”,你可以根據實際需求修改數據庫名稱。
  4. -p :將宿主機端口映射到容器內部的 PostgreSQL 默認端口(5432)。在示例中,我們將宿主機的 5432 端口映射到容器內部的 5432 端口,這樣可以直接通過宿主機的 5432 端口訪問容器內的 PostgreSQL 服務。
  5. -v :將宿主機目錄掛載到容器內部目錄,用于數據持久化。例如,將宿主機的 “~/data/pgsql/data” 目錄掛載到容器內的 “/var/lib/postgresql/data” 目錄,這樣可以確保數據不會因容器重建而丟失。
  6. –memory :限制容器可使用的內存大小。在示例中,我們將其設置為 “2gb”,即限制容器最多使用 2GB 內存。
  7. –cpuset-cpus :指定容器可以使用的 CPU 核心。如示例中的 “0”,表示容器只能使用宿主機的第 0 號 CPU 核心。
  8. -d :以后臺方式運行 PostgreSQL 容器,使容器在后臺持續運行,不會占用終端。

四、查看容器運行狀態

要查看容器的運行狀態,可以使用以下命令:

docker ps

此命令將列出當前正在運行的容器,包括容器的 ID、名稱、鏡像、端口映射等信息。如果想查看所有容器(包括已停止的),可以使用:

docker ps -a

若想獲取更詳細的容器信息,例如資源使用情況、網絡配置等,可以使用:

docker inspect [容器名稱或 ID]

例如:

docker inspect my_postgres

以上就是在 Docker 中部署 PostgreSQL 數據庫的詳細步驟,通過以上操作,你就可以在本地快速搭建并運行一個 PostgreSQL 數據庫環境,為后續的開發和測試工作提供支持。

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

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

相關文章

MySQL性能調優(四):MySQL的執行原理(MYSQL的查詢成本)

文章目錄 MySQL性能調優數據庫設計優化查詢優化配置參數調整硬件優化 1.MySQL的執行原理-21.1.MySQL的查詢成本1.1.1.什么是成本1.1.2.單表查詢的成本1.1.2.1.基于成本的優化步驟實戰1. 根據搜索條件,找出所有可能使用的索引2. 計算全表掃描的代價3. 計算使用不同索…

用 Go 優雅地清理 HTML 并抵御 XSS——Bluemonday

1、背景與動機 只要你的服務接收并回顯用戶生成內容(UGC)——論壇帖子、評論、富文本郵件正文、Markdown 等——就必須考慮 XSS(Cross?Site Scripting)攻擊風險。瀏覽器在解析 HTML 時會執行腳本;如果不做清理&#…

Redis SCAN 命令的詳細介紹

Redis SCAN 命令的詳細介紹 以下是 Redis SCAN? 命令的詳細介紹,結合其核心特性、使用場景及底層原理進行綜合說明: 工作原理圖 : ? 一、核心特性 非阻塞式迭代 通過游標(Cursor) 分批次遍歷鍵,避免一次…

SpringBoot3集成MyBatis-Plus(解決Boot2升級Boot3)

總結:目前升級僅發現依賴有變更,其他目前未發現,如有發現,后續會繼續更新 由于項目架構提升,以前開發的很多公共的組件,以及配置都需要升級,因此記錄需要更改的配置(記錄時間&#…

基于mybatis與PageHelper插件實現條件分頁查詢(3.19)

實現商品分頁例子 需要先引入mybatis與pagehelper插件&#xff0c;在pom.xml里 <!-- Mybatis --> <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.3&l…

Spring Bean 全方位指南:從作用域、生命周期到自動配置詳解

目錄 1. Bean 的作用域 1.1 singleton 1.2 prototype 1.3 request 1.4 session 1.5 application 1.5.1 servletContext 和 applicationContext 區別 2. Bean 的生命周期 2.1 詳解初始化 2.1.1 Aware 接口回調 2.1.2 執行初始化方法 2.2 代碼示例 2.3 源碼 [面試題…

C++ (非類型參數)

模板除了定義類型參數之外&#xff0c;也可以在模板內定義非類型參數 非類型參數不是類型&#xff0c;而是值&#xff0c;比如&#xff1a;指針&#xff0c;整數&#xff0c;引用 非類型參數的用法&#xff1a; 1.整數常量&#xff1a;非類型參數最常見的形式是整數常量&…

短視頻+直播商城系統源碼全解析:音視頻流、商品組件邏輯剖析

時下&#xff0c;無論是依托私域流量運營的品牌方&#xff0c;還是追求用戶粘性與轉化率的內容創作者&#xff0c;搭建一套完整的短視頻直播商城系統源碼&#xff0c;已成為提升用戶體驗、增加商業變現能力的關鍵。本文將圍繞三大核心模塊——音視頻流技術架構、商品組件設計、…

5.QT-常用控件-QWidget|enabled|geometry|window frame(C++)

控件概述 實現圖形化界面的程序. Qt中已經給我們提供了很多的“控件" 就需要學習和了解這些控件&#xff0c;學會如何使用這些控件 編程講究的是“站在巨人的肩膀上”&#xff0c;而不是“從頭發明輪子" 一個圖形化界面上的內容&#xff0c;不需要咱們全都從零去實…

2025-04-22| Docker: --privileged參數詳解

在 Docker 中&#xff0c;--privileged 是一個運行容器時的標志&#xff0c;它賦予容器特權模式&#xff0c;大幅提升容器對宿主機資源的訪問權限。以下是 --privileged 的作用和相關細節&#xff1a; 作用 完全訪問宿主機的設備&#xff1a; 容器可以訪問宿主機的所有設備&am…

高性能服務器配置經驗指南1——剛配置好服務器應該做哪些事

文章目錄 安裝ubuntu安裝必要軟件設置用戶遠程連接安全問題ClamAV安裝教程步驟 1&#xff1a;更新系統軟件源步驟 2&#xff1a;升級系統&#xff08;可選但推薦&#xff09;步驟 3&#xff1a;安裝 ClamAV步驟 4&#xff1a;更新病毒庫步驟 5&#xff1a;驗證安裝ClamAV 常用命…

直流絕緣監測解決方案:保障工業與新能源系統的安全運行

一、引言 隨著工業自動化和新能源技術的快速發展&#xff0c;直流供電系統在光伏發電、儲能電站、電動汽車充電樁等領域的應用日益廣泛。然而&#xff0c;直流系統的正負極不接地&#xff08;IT系統&#xff09;特性&#xff0c;使得絕緣故障可能導致漏電、短路甚至設備損毀等…

VSCode 用于JAVA開發的環境配置,JDK為1.8版本時的配置

插件安裝 JAVA開發在VSCode中&#xff0c;需要安裝JAVA的必要開發。當前安裝只需要安裝 “Language Support for Java(TM) by Red Hat”插件即可 安裝此插件后&#xff0c;會自動安裝包含如下插件&#xff0c;不再需要單獨安裝 Project Manager for Java Test Runner for J…

C++入門語法

C入門 首先第一點&#xff0c;C中可以混用C語言中的語法。但是C語言是不兼容C的。C主要是為了改進C語言而創建的一門語言&#xff0c;就是有人用C語言用不爽了&#xff0c;改出來個C。 命名空間 c語言中會有如下這樣的問題&#xff1a; 那么C為了解決這個問題就整出了一個命名…

輸入框僅支持英文、特殊符號、全角自動轉半角 vue3

需求&#xff1a;封裝一個輸入框組件 1.只能輸入英文。 2.輸入的小寫英文自動轉大寫。 3.輸入的全角特殊符號自動轉半角特殊字符 效果圖 代碼 <script setup> import { defineEmits, defineModel, defineProps } from "vue"; import { debounce } from "…

Uniapp:創建項目

目錄 一、前提準備二、創建項目三、項目結構四、運行測試 一、前提準備 首先要創建uniapp項目&#xff0c;需要先下載HBuilderX&#xff0c;HBuilderX是一款開箱即用的工具&#xff0c;下載完畢之后&#xff0c;解壓到指定的目錄即可使用&#xff0c;需要注意的是最好路徑里面…

ESM 內功心法:化解 require 中的奪命一擊!

前言 傳聞在JavaScript與TypeScript武林中,曾有兩大絕世心法:CommonJS與ESM。兩派高手比肩而立,各自稱霸一方,江湖一度風平浪靜。 豈料,時局突變。ESM逐步修成陽春白雪之姿,登堂入室,成為主流正統。CommonJS則漸入下風,功力不濟,逐漸退出主舞臺。 話說某日,一位前…

【STL】unordered_set

在 C C C 11 11 11 中&#xff0c; S T L STL STL 標準庫引入了一個新的標準關聯式容器&#xff1a; u n o r d e r e d _ s e t unordered\_set unordered_set&#xff08;無序集合&#xff09;。功能和 s e t set set 類似&#xff0c;都用于存儲唯一元素。但是其底層數據結…

go語言八股文

1.go語言的接口是怎么實現 接口&#xff08;interface&#xff09;是一種類型&#xff0c;它定義了一組方法的集合。任何類型只要實現了接口中定義的所有方法&#xff0c;就被認為實現了該接口。 代碼的實現 package mainimport "fmt"// 定義接口 type Shape inte…

kafka auto.offset.reset詳解

在 Kafka 中&#xff0c;auto.offset.reset latest 的含義及行為如下&#xff1a; 1. ??核心定義?? 當消費者組??首次啟動??或??無法找到有效的 offset??&#xff08;例如 offset 過期、被刪除或從未提交&#xff09;時&#xff0c;消費者會從分區的??最新位置…