欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker Compose安裝部署PostgreSQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟

 更新時(shí)間:2024年12月16日 11:44:05   作者:宋發(fā)元  
本文主要介紹了使用DockerCompose在Linux服務(wù)器上部署PostgreSQL,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

以下是一個(gè)完整的 PostgreSQL Docker Compose 部署教程,包括配置和部署詳細(xì)步驟。本文將指導(dǎo)您如何在 Linux 服務(wù)器上使用 Docker Compose 來(lái)部署 PostgreSQL,并將數(shù)據(jù)持久化到指定路徑。

1. 環(huán)境準(zhǔn)備

確保您的系統(tǒng)上已經(jīng)安裝了以下軟件:

  • Docker:用于容器化應(yīng)用程序。參考 Docker 官方文檔 進(jìn)行安裝。
  • Docker Compose:用于定義和運(yùn)行多容器 Docker 應(yīng)用程序。參考 Docker Compose 官方文檔 進(jìn)行安裝。

驗(yàn)證安裝是否成功:

docker --version
docker-compose --version

2. 創(chuàng)建所需的目錄

為了確保數(shù)據(jù)持久化存儲(chǔ),先創(chuàng)建工作目錄和持久化數(shù)據(jù)目錄。

執(zhí)行以下命令:

# 創(chuàng)建工作目錄
mkdir -p /opt/postgresql

# 創(chuàng)建持久化目錄
mkdir -p /opt/docker-data/postgresql && chmod 777 /opt/docker-data/postgresql

說(shuō)明

  • /opt/postgresql 是用于存放項(xiàng)目文件的工作目錄。
  • /opt/docker-data/postgresql 是持久化 PostgreSQL 數(shù)據(jù)的目錄,設(shè)置權(quán)限為 777 確保容器可以讀寫。

3. 創(chuàng)建 docker-compose.yml 文件

進(jìn)入工作目錄 /opt/postgresql,然后創(chuàng)建 docker-compose.yml 文件:

cd /opt/postgresql
touch docker-compose.yml

編輯 docker-compose.yml 文件,內(nèi)容如下:

version: '3.8'

services:
  postgres:
    image: postgres:15                # 使用 PostgreSQL 15 鏡像
    container_name: postgres_db       # 容器名稱
    environment:
      POSTGRES_USER: root             # 設(shè)置用戶名為 'root'
      POSTGRES_PASSWORD: 123456       # 設(shè)置密碼為 '123456'
      POSTGRES_DB: demo               # 設(shè)置數(shù)據(jù)庫(kù)名為 'demo'
    ports:
      - "5433:5432"                   # 將容器的 5432 端口映射到主機(jī)的 5433 端口
    volumes:
      - /opt/docker-data/postgresql:/var/lib/postgresql/data  # 數(shù)據(jù)映射到主機(jī)指定路徑

volumes:
  postgres_data:

文件解釋

  • services: 定義了 PostgreSQL 服務(wù)。
    • image: 使用官方 PostgreSQL 15 鏡像。
    • container_name: 給容器命名為 postgres_db。
    • environment: 設(shè)置數(shù)據(jù)庫(kù)的環(huán)境變量,包括用戶名、密碼和默認(rèn)數(shù)據(jù)庫(kù)名稱。
    • ports: 將容器的默認(rèn) PostgreSQL 端口 5432 映射到主機(jī)的 5433 端口。
    • volumes: 將容器的數(shù)據(jù)目錄 /var/lib/postgresql/data 映射到主機(jī)的 /opt/docker-data/postgresql,實(shí)現(xiàn)數(shù)據(jù)持久化。

4. 啟動(dòng) PostgreSQL 服務(wù)

在 docker-compose.yml 文件所在的目錄中,執(zhí)行以下命令來(lái)啟動(dòng)服務(wù):

docker-compose up -d

說(shuō)明

  • -d 選項(xiàng)表示以“后臺(tái)模式”運(yùn)行容器。
  • 此時(shí),PostgreSQL 容器將啟動(dòng),數(shù)據(jù)將持久化到 /opt/docker-data/postgresql 目錄。

5. 驗(yàn)證 PostgreSQL 部署

檢查容器狀態(tài):

docker-compose ps

您應(yīng)該會(huì)看到類似如下的輸出,表示 PostgreSQL 容器正在運(yùn)行:

   Name                 Command               State         Ports
-------------------------------------------------------------------------
postgres_db     docker-entrypoint.sh postgres   Up      0.0.0.0:5433->5432/tcp

登錄到 PostgreSQL 容器進(jìn)行驗(yàn)證:

docker exec -it postgres_db psql -U root -d demo

命令解釋

  • docker exec -it postgres_db:進(jìn)入名為 postgres_db 的容器。
  • psql -U root -d demo:使用 root 用戶登錄到 demo 數(shù)據(jù)庫(kù)。

6. 連接 PostgreSQL 數(shù)據(jù)庫(kù)

您可以使用任意數(shù)據(jù)庫(kù)客戶端連接 PostgreSQL。連接參數(shù)如下:

  • 主機(jī)localhost 或 Docker 主機(jī) IP
  • 端口5433
  • 用戶名root
  • 密碼123456
  • 數(shù)據(jù)庫(kù)demo

示例命令行連接:

psql -h localhost -p 5433 -U root -d demo

7. 停止和刪除 PostgreSQL 容器

如需停止和刪除容器,可以執(zhí)行以下命令:

docker-compose down

該命令將停止容器并刪除網(wǎng)絡(luò)配置,但不會(huì)刪除持久化的數(shù)據(jù)(數(shù)據(jù)保存在 /opt/docker-data/postgresql 目錄下)。

8. 備份與恢復(fù)數(shù)據(jù)

備份數(shù)據(jù)庫(kù)

您可以使用以下命令來(lái)備份數(shù)據(jù)庫(kù):

docker exec -t postgres_db pg_dump -U root demo > /opt/docker-data/postgresql/backup.sql

恢復(fù)數(shù)據(jù)庫(kù)

如果您需要從備份中恢復(fù)數(shù)據(jù),可以執(zhí)行以下命令:

docker exec -i postgres_db psql -U root -d demo < /opt/docker-data/postgresql/backup.sql

結(jié)束語(yǔ)

通過(guò)以上步驟,您已經(jīng)成功使用 Docker Compose 部署了 PostgreSQL,并且數(shù)據(jù)已經(jīng)持久化到指定的路徑 /opt/docker-data/postgresql。這個(gè)部署方案方便了數(shù)據(jù)庫(kù)的管理和備份,適合在開(kāi)發(fā)和生產(chǎn)環(huán)境中使用。

到此這篇關(guān)于Docker Compose安裝部署PostgreSQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Docker Compose安裝部署PostgreSQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker 鏡像傳輸?shù)膶?shí)現(xiàn)步驟

    Docker 鏡像傳輸?shù)膶?shí)現(xiàn)步驟

    本文主要介紹了Docker 鏡像傳輸?shù)膶?shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-08-08
  • 詳解如何將docker快速升級(jí)到最新版本

    詳解如何將docker快速升級(jí)到最新版本

    最近在對(duì)區(qū)塊鏈瀏覽器調(diào)優(yōu),該區(qū)塊鏈瀏覽器就是使用docker部署的微服務(wù),在一臺(tái)新的服務(wù)器上啟動(dòng)時(shí)報(bào)錯(cuò),發(fā)現(xiàn)是docker版本過(guò)低,所以本文給大家介紹了將docker快速升級(jí)到最新版本的方法,需要的朋友可以參考下
    2024-02-02
  • 基于docker安裝mariadb配置過(guò)程解析

    基于docker安裝mariadb配置過(guò)程解析

    這篇文章主要介紹了基于docker安裝mariadb配置過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • jenkins中通過(guò)Publish Over SSH插件將項(xiàng)目部署到遠(yuǎn)程機(jī)器上的講解說(shuō)明

    jenkins中通過(guò)Publish Over SSH插件將項(xiàng)目部署到遠(yuǎn)程機(jī)器上的講解說(shuō)明

    今天小編就為大家分享一篇關(guān)于jenkins中通過(guò)Publish Over SSH插件將項(xiàng)目部署到遠(yuǎn)程機(jī)器上的講解說(shuō)明,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • docker映射端口穿透內(nèi)置防火墻的實(shí)現(xiàn)

    docker映射端口穿透內(nèi)置防火墻的實(shí)現(xiàn)

    在使用Docker部署項(xiàng)目時(shí),即使未開(kāi)啟CentOS7的Firewalld防火墻,端口仍可被外網(wǎng)訪問(wèn),這是因?yàn)镈ocker在安裝后會(huì)接管iptables,并自動(dòng)添加規(guī)則以放行指定端口,解決方法包括依賴外置防火墻放行端口、指定端口監(jiān)聽(tīng)地址為本機(jī)、禁用Docker的iptables規(guī)則修改
    2024-10-10
  • Docker Compose引用環(huán)境變量的方法示例

    Docker Compose引用環(huán)境變量的方法示例

    在項(xiàng)目中,往往需要在 docker-compose.yml 文件中使用環(huán)境變量來(lái)控制不同的條件和使用場(chǎng)景。本文集中介紹 docker compose 引用環(huán)境變量的方式,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Dockerfile中的ENV指令的具體使用詳解

    Dockerfile中的ENV指令的具體使用詳解

    這篇文章主要介紹了Dockerfile中的ENV指令的具體使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 使用 Docker 在 Ubuntu 上部署 FTP 服務(wù)器的步驟

    使用 Docker 在 Ubuntu 上部署 FTP 服務(wù)器

    本文詳細(xì)介紹了如何在Ubuntu系統(tǒng)上通過(guò)Docker部署FTP服務(wù)器的步驟,包括安裝Docker、拉取vsftpd鏡像以及運(yùn)行FTP容器等,通過(guò)這些步驟,用戶可以在提供的免費(fèi)云服務(wù)器上快速搭建起一個(gè)安全高效的FTP服務(wù),適合小型項(xiàng)目或個(gè)人使用,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • Docker容器操作方法詳解

    Docker容器操作方法詳解

    Docker 在隔離的容器中運(yùn)行進(jìn)程。之前總結(jié)了Docker鏡像的使用詳解,本篇按照之前測(cè)試openGauss容器過(guò)程中總結(jié)出來(lái)使用Docker容器的常用命令
    2022-08-08
  • docker nginx + https 子域名配置詳細(xì)教程

    docker nginx + https 子域名配置詳細(xì)教程

    這篇文章主要介紹了docker nginx + https 子域名配置詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04

最新評(píng)論