Docker部署PostgreSQL數(shù)據(jù)庫(kù)及操作方法詳解
一、拉取 PostgreSQL 鏡像
首先,確保你的 Docker 環(huán)境已正確安裝并運(yùn)行。打開(kāi)終端,通過(guò)以下命令拉取 PostgreSQL 鏡像:
docker pull postgres
執(zhí)行上述命令后,Docker 會(huì)從官方鏡像倉(cāng)庫(kù)下載 PostgreSQL 鏡像到本地。根據(jù)網(wǎng)絡(luò)狀況,下載過(guò)程可能需要一些時(shí)間。
二、運(yùn)行 PostgreSQL 容器
使用以下命令運(yùn)行 PostgreSQL 容器:
docker run --name [容器名稱] -e POSTGRES_PASSWORD=[數(shù)據(jù)庫(kù)密碼] -e POSTGRES_DB=[數(shù)據(jù)庫(kù)名稱] -p [宿主機(jī)端口]:5432 -v [宿主機(jī)目錄](méi):/var/lib/postgresql/data --memory="[內(nèi)存限制]" --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
三、運(yùn)行命令參數(shù)詳解
- –name :為容器指定一個(gè)名稱,方便后續(xù)管理和識(shí)別。例如,將容器命名為 “my_postgres”。
- -e POSTGRES_PASSWORD :設(shè)置 PostgreSQL 數(shù)據(jù)庫(kù)的密碼。在這里,我們將其設(shè)置為 “your_password_placeholder”,實(shí)際使用時(shí)請(qǐng)?zhí)鎿Q為你自己的密碼。
- -e POSTGRES_DB :創(chuàng)建數(shù)據(jù)庫(kù)的名稱。此命令示例中設(shè)置為 “your_db_name_placeholder”,你可以根據(jù)實(shí)際需求修改數(shù)據(jù)庫(kù)名稱。
- -p :將宿主機(jī)端口映射到容器內(nèi)部的 PostgreSQL 默認(rèn)端口(5432)。在示例中,我們將宿主機(jī)的 5432 端口映射到容器內(nèi)部的 5432 端口,這樣可以直接通過(guò)宿主機(jī)的 5432 端口訪問(wèn)容器內(nèi)的 PostgreSQL 服務(wù)。
- -v :將宿主機(jī)目錄掛載到容器內(nèi)部目錄,用于數(shù)據(jù)持久化。例如,將宿主機(jī)的 “~/data/pgsql/data” 目錄掛載到容器內(nèi)的 “/var/lib/postgresql/data” 目錄,這樣可以確保數(shù)據(jù)不會(huì)因容器重建而丟失。
- –memory :限制容器可使用的內(nèi)存大小。在示例中,我們將其設(shè)置為 “2gb”,即限制容器最多使用 2GB 內(nèi)存。
- –cpuset-cpus :指定容器可以使用的 CPU 核心。如示例中的 “0”,表示容器只能使用宿主機(jī)的第 0 號(hào) CPU 核心。
- -d :以后臺(tái)方式運(yùn)行 PostgreSQL 容器,使容器在后臺(tái)持續(xù)運(yùn)行,不會(huì)占用終端。
四、查看容器運(yùn)行狀態(tài)
要查看容器的運(yùn)行狀態(tài),可以使用以下命令:
docker ps
此命令將列出當(dāng)前正在運(yùn)行的容器,包括容器的 ID、名稱、鏡像、端口映射等信息。如果想查看所有容器(包括已停止的),可以使用:
docker ps -a
若想獲取更詳細(xì)的容器信息,例如資源使用情況、網(wǎng)絡(luò)配置等,可以使用:
docker inspect [容器名稱或 ID]
例如:
docker inspect my_postgres
以上就是在 Docker 中部署 PostgreSQL 數(shù)據(jù)庫(kù)的詳細(xì)步驟,通過(guò)以上操作,你就可以在本地快速搭建并運(yùn)行一個(gè) PostgreSQL 數(shù)據(jù)庫(kù)環(huán)境,為后續(xù)的開(kāi)發(fā)和測(cè)試工作提供支持。
總結(jié)
到此這篇關(guān)于Docker部署PostgreSQL數(shù)據(jù)庫(kù)及操作方法的文章就介紹到這了,更多相關(guān)Docker部署pgSQL數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- docker快速部署postgresql的完整步驟記錄
- Docker 部署 PostgreSQL數(shù)據(jù)庫(kù)的兩種方式
- Docker PostgreSQL容器化部署方式
- Docker Compose安裝部署PostgreSQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟
- 在docker上部署postgreSQL主從的超詳細(xì)步驟
- PostgreSQL部署邏輯復(fù)制過(guò)程詳解
- 一步步教你用docker部署postgreSQL數(shù)據(jù)庫(kù)
- PostgreSQL數(shù)據(jù)庫(kù)遷移部署實(shí)戰(zhàn)教程
- postgresql 12版本搭建及主備部署操作
- postgresql數(shù)據(jù)庫(kù)安裝部署搭建主從節(jié)點(diǎn)的詳細(xì)過(guò)程(業(yè)務(wù)庫(kù))
- RockyLinux9.5部署PostgreSQL的實(shí)現(xiàn)步驟
相關(guān)文章
Docker安裝部署Mysql8的過(guò)程(以作數(shù)據(jù)持久化)
這篇文章主要介紹了Docker安裝部署Mysql8(以作數(shù)據(jù)持久化),首先創(chuàng)建容器并進(jìn)行持久化處理,接著配置遠(yuǎn)程連接并嘗試,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
centos8安裝docker(containerd.io與podman-manpages問(wèn)題解決)及鏡像加速詳解
在CentOS 8中安裝Docker需先安裝VirtualBox,root用戶執(zhí)行卸載舊版、安裝基礎(chǔ)包、設(shè)置倉(cāng)庫(kù)、安裝Docker Engine-Community及containerd.io,解決包沖突后配置阿里云鏡像加速器,最后運(yùn)行hello-world測(cè)試2025-09-09
springboot整合docker部署實(shí)現(xiàn)兩種構(gòu)建Docker鏡像方式
這篇文章主要介紹了springboot整合docker部署實(shí)現(xiàn)兩種構(gòu)建Docker鏡像方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04
Docker搭建本地私有倉(cāng)庫(kù)的詳細(xì)步驟
本篇文章主要介紹了Docker搭建本地私有倉(cāng)庫(kù)的詳細(xì)步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02
Docker中Mysql容器無(wú)法停止無(wú)法刪除問(wèn)題
這篇文章主要介紹了Docker中Mysql容器無(wú)法停止無(wú)法刪除問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Docker中部署MySQL 5.7并遠(yuǎn)程連接Navicat的完整指南
MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)之一,而Docker提供了輕量級(jí)、可移植的容器化解決方案,本文將詳細(xì)介紹如何在CentOS 7上使用Docker部署 MySQL 5.7,并通過(guò)Windows上的Navicat進(jìn)行遠(yuǎn)程連接,需要的朋友可以參考下2025-07-07

