亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker27.3.1中安裝 PostgreSQL16的實(shí)現(xiàn)步驟

 更新時(shí)間:2025年07月28日 09:00:13   作者:吳啟維  
本文主要介紹了Docker27.3.1中安裝 PostgreSQL16的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言:為什么在 Docker 中部署 PostgreSQL?

在云原生時(shí)代,容器化部署已成為生產(chǎn)環(huán)境的首選方案。通過(guò) Docker 部署 PostgreSQL 具有以下顯著優(yōu)勢(shì):

  • 環(huán)境一致性:消除“在我機(jī)器上能運(yùn)行”的問(wèn)題
  • 快速部署:秒級(jí)啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例
  • 資源隔離:精確控制 CPU、內(nèi)存等資源
  • 簡(jiǎn)化運(yùn)維:版本升級(jí)、備份恢復(fù)更便捷
  • 高可移植性:輕松遷移到任何支持 Docker 的環(huán)境

本文將以 Docker 27.3.1PostgreSQL 16 為例,手把手教你完成部署。

一、環(huán)境準(zhǔn)備

1. 確認(rèn) Docker 版本

docker --version
# Docker version 27.3.1, build a224086

?? 提示:如版本低于27.0,請(qǐng)先升級(jí):官方升級(jí)指南

2. 創(chuàng)建專用網(wǎng)絡(luò)(生產(chǎn)環(huán)境必備)

docker network create pg-network

作用

  • 隔離數(shù)據(jù)庫(kù)流量
  • 避免端口沖突
  • 方便后續(xù)擴(kuò)展(如連接應(yīng)用容器)

二、PostgreSQL 16 容器化部署

1. 拉取官方鏡像(指定版本)

docker pull postgres:16

為什么指定版本?

  • 避免自動(dòng)升級(jí)導(dǎo)致兼容性問(wèn)題
  • 確保生產(chǎn)環(huán)境穩(wěn)定性
  • PostgreSQL 16 是最新LTS版本(支持至2031年)

2. 創(chuàng)建持久化數(shù)據(jù)卷

docker volume create pgdata

生產(chǎn)環(huán)境重要性

  • 容器重啟/刪除時(shí)數(shù)據(jù)不丟失
  • 獨(dú)立于容器生命周期管理
  • 方便備份遷移

3. 啟動(dòng) PostgreSQL 容器(生產(chǎn)優(yōu)化版)

docker run -d \
  --name prod-postgres \
  --network pg-network \
  -p 5432:5432 \
  -e POSTGRES_PASSWORD=Str0ngP@ss!2025 \
  -e POSTGRES_USER=prod_admin \
  -e POSTGRES_DB=production_db \
  -e TZ=Asia/Shanghai \
  -e POSTGRES_INITDB_ARGS="--data-checksums" \
  -v pgdata:/var/lib/postgresql/data \
  -v /etc/localtime:/etc/localtime:ro \
  --restart=unless-stopped \
  --memory=4g \
  --cpus=2 \
  --health-cmd="pg_isready -U prod_admin" \
  --health-interval=30s \
  --health-timeout=5s \
  --health-retries=3 \
  postgres:16 \
  -c max_connections=200 \
  -c shared_buffers=1GB

參數(shù)詳解

參數(shù)說(shuō)明生產(chǎn)環(huán)境重要性
--network pg-network加入專用網(wǎng)絡(luò)????? 網(wǎng)絡(luò)安全隔離
-e POSTGRES_PASSWORD管理員密碼????? 必須使用強(qiáng)密碼
-e TZ=Asia/Shanghai設(shè)置時(shí)區(qū)???? 避免時(shí)間相關(guān)錯(cuò)誤
-v pgdata:/var/...掛載數(shù)據(jù)卷????? 數(shù)據(jù)持久化
--restart=unless-stopped自動(dòng)重啟策略???? 高可用保障
--memory=4g --cpus=2資源限制???? 防止單容器耗盡資源
--health-cmd健康檢查??? 自動(dòng)故障檢測(cè)
-c max_connections=200最大連接數(shù)??? 根據(jù)業(yè)務(wù)需求調(diào)整
-c shared_buffers=1GB共享內(nèi)存大小??? 性能優(yōu)化關(guān)鍵參數(shù)

三、驗(yàn)證與連接

1. 檢查容器狀態(tài)

docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"

預(yù)期輸出

CONTAINER ID  NAMES          STATUS                    PORTS
a1b2c3d4e5f6  prod-postgres  Up 2 minutes (healthy)   0.0.0.0:5432->5432/tcp

2. 查看實(shí)時(shí)日志

docker logs -f prod-postgres

關(guān)鍵日志確認(rèn)

PostgreSQL init process complete; ready for start up
database system is ready to accept connections

3. 命令行連接測(cè)試

docker exec -it prod-postgres \
  psql -U prod_admin -d production_db -c "SELECT version();"

預(yù)期輸出

PostgreSQL 16.3 on x86_64-pc-linux-gnu, compiled by gcc...

4. 客戶端工具連接

使用 DBeaver/pgAdmin 連接:

  • Host: 服務(wù)器IP
  • Port: 5432
  • Database: production_db
  • Username: prod_admin
  • Password: Str0ngP@ss!2025

四、生產(chǎn)環(huán)境高級(jí)配置

1. 配置文件自定義

# 創(chuàng)建配置目錄
mkdir -p /docker/pg-config

# 生成默認(rèn)配置
docker run --rm postgres:16 \
  cat /usr/share/postgresql/postgresql.conf.sample > /docker/pg-config/postgresql.conf

# 編輯配置文件(優(yōu)化關(guān)鍵參數(shù))
nano /docker/pg-config/postgresql.conf

關(guān)鍵參數(shù)建議

listen_addresses = '*'  # 允許所有網(wǎng)絡(luò)接口
max_connections = 250   # 根據(jù)實(shí)際負(fù)載調(diào)整
shared_buffers = 1GB    # 建議分配內(nèi)存的25%
work_mem = 16MB         # 每個(gè)操作的內(nèi)存
maintenance_work_mem = 512MB  # 維護(hù)操作內(nèi)存
synchronous_commit = off  # 異步提交提升性能

重新啟動(dòng)容器

docker run ... \
  -v /docker/pg-config/postgresql.conf:/etc/postgresql/postgresql.conf \
  postgres:16 -c 'config_file=/etc/postgresql/postgresql.conf'

2. 定期備份方案

創(chuàng)建備份腳本 (pg-backup.sh):

#!/bin/bash
BACKUP_DIR=/backups/pg
DATE=$(date +%Y%m%d_%H%M%S)

docker exec prod-postgres \
  pg_dump -U prod_admin -Fc production_db > $BACKUP_DIR/prod_db_$DATE.dump

# 保留最近7天備份
find $BACKUP_DIR -mtime +7 -delete

設(shè)置定時(shí)任務(wù)

crontab -e
# 每天凌晨2點(diǎn)備份
0 2 * * * /path/to/pg-backup.sh

3. 監(jiān)控配置

使用內(nèi)置統(tǒng)計(jì)收集器:

ALTER SYSTEM SET track_activities = on;
ALTER SYSTEM SET track_counts = on;
ALTER SYSTEM SET track_io_timing = on;
SELECT pg_reload_conf();

推薦監(jiān)控工具:

  • Prometheus + Grafana(配合 postgres_exporter)
  • pgAdmin 4 監(jiān)控面板
  • Datadog / New Relic

五、故障排查與維護(hù)

1. 常見問(wèn)題解決

問(wèn)題1:端口沖突

# 檢查占用5432端口的進(jìn)程
sudo lsof -i :5432

# 解決方案:改用其他端口
docker run ... -p 5433:5432 ...

問(wèn)題2:忘記管理員密碼

# 進(jìn)入容器bash
docker exec -it prod-postgres bash

# 以postgres用戶連接
psql -U postgres

# 重置密碼
ALTER USER prod_admin WITH PASSWORD 'NewStrongP@ss!2025';

問(wèn)題3:磁盤空間不足

# 查看容器磁盤使用
docker system df

# 清理無(wú)用容器/鏡像
docker system prune -f

# 擴(kuò)展數(shù)據(jù)卷
docker volume inspect pgdata # 找到實(shí)際路徑
# 然后擴(kuò)展對(duì)應(yīng)磁盤分區(qū)

2. 關(guān)鍵維護(hù)命令

查看資源使用

docker stats prod-postgres

進(jìn)入維護(hù)模式

docker exec -it prod-postgres bash
psql -U prod_admin -d production_db

日志分析

docker logs --tail 100 prod-postgres | grep -i error

六、安全加固建議

網(wǎng)絡(luò)層安全

# 限制訪問(wèn)IP(僅允許應(yīng)用服務(wù)器)
docker network create --subnet=10.1.0.0/16 pg-secure-network

SSL加密連接

# 啟動(dòng)容器時(shí)添加SSL參數(shù)
-e POSTGRES_SSL=on \
-e POSTGRES_SSL_CERT_FILE=/etc/ssl/certs/server.crt \
-e POSTGRES_SSL_KEY_FILE=/etc/ssl/private/server.key

定期輪換憑證

# 每月更新密碼
ALTER USER prod_admin WITH PASSWORD 'NewP@ssw0rd_$(date +%Y%m)';

審計(jì)日志

ALTER SYSTEM SET log_statement = 'all';
SELECT pg_reload_conf();

結(jié)語(yǔ):容器化數(shù)據(jù)庫(kù)的未來(lái)

通過(guò) Docker 部署 PostgreSQL 不僅簡(jiǎn)化了運(yùn)維流程,還為現(xiàn)代化應(yīng)用架構(gòu)提供了堅(jiān)實(shí)基礎(chǔ)。

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

相關(guān)文章

  • docker 搭建單機(jī)PostgreSQL操作詳解

    docker 搭建單機(jī)PostgreSQL操作詳解

    本文通過(guò)實(shí)際案例操作演示了如何基于Docker搭建pg的完整過(guò)程,并補(bǔ)充了pg數(shù)據(jù)庫(kù)操作的常用命令和授權(quán)命令,感興趣的朋友一起看看吧
    2025-04-04
  • ES和Kibana如何設(shè)置賬號(hào)密碼

    ES和Kibana如何設(shè)置賬號(hào)密碼

    設(shè)置Elasticsearch和Kibana賬號(hào)密碼需進(jìn)入容器修改配置文件,重啟服務(wù)后訪問(wèn)時(shí)輸入憑證,Elasticsearch需設(shè)置elastic等六種賬戶密碼,Kibana通過(guò)配置文件啟用安全功能
    2025-07-07
  • 常用的8個(gè)應(yīng)用和中間件的Docker運(yùn)行示例詳解

    常用的8個(gè)應(yīng)用和中間件的Docker運(yùn)行示例詳解

    Portainer是一個(gè)輕量級(jí)的管理 UI ,可讓你輕松管理不同的 Docker 環(huán)境(Docker 主機(jī)或 Swarm 群集),這篇文章主要介紹了常用的8個(gè)應(yīng)用和中間件的Docker運(yùn)行示例,需要的朋友可以參考下
    2024-03-03
  • Windows?Server?2016中文版安裝docker的詳細(xì)步驟

    Windows?Server?2016中文版安裝docker的詳細(xì)步驟

    因業(yè)務(wù)需要所以需要安裝Docker,但是在途中遇到了一些問(wèn)題,所以下面這篇文章主要給大家介紹了關(guān)于Windows?Server?2016中文版安裝docker的詳細(xì)步驟,需要的朋友可以參考下
    2022-07-07
  • Docker Compose如何編排多個(gè)容器

    Docker Compose如何編排多個(gè)容器

    使用Docker Compose編排多個(gè)容器是一種簡(jiǎn)單而強(qiáng)大的方式,可以在單個(gè)文件中定義、配置和管理多個(gè)容器,本文主要介紹了Docker Compose如何編排多個(gè)容器,感興趣的可以了解一下
    2023-11-11
  • 使用Docker完成前端部署詳細(xì)圖文教程

    使用Docker完成前端部署詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于使用Docker完成前端部署的相關(guān)資料,Docker變得越來(lái)越流行,它可以輕便靈活地隔離環(huán)境,進(jìn)行擴(kuò)容,運(yùn)維管理,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • 解決docker日志掛載的問(wèn)題

    解決docker日志掛載的問(wèn)題

    這篇文章主要介紹了解決docker日志掛載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Docker安裝MySQL集群全過(guò)程(主從復(fù)制)

    Docker安裝MySQL集群全過(guò)程(主從復(fù)制)

    本文介紹通過(guò)Docker實(shí)現(xiàn)數(shù)據(jù)庫(kù)主從集群部署,涵蓋網(wǎng)絡(luò)創(chuàng)建、my.cnf配置、復(fù)制設(shè)置及測(cè)試,解決防火墻等常見問(wèn)題,確保數(shù)據(jù)同步可靠
    2025-07-07
  • ubuntu 14.04 64位安裝配置docker教程

    ubuntu 14.04 64位安裝配置docker教程

    這篇文章主要為大家詳細(xì)介紹了ubuntu 14.04 64位安裝配置docker教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 使用Docker Swarm 搭建Wordpress的方法

    使用Docker Swarm 搭建Wordpress的方法

    這篇文章主要介紹了使用Docker Swarm 搭建Wordpress的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評(píng)論