国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker環(huán)境安裝Postgresql數(shù)據(jù)庫Posrgresql 15.6

這篇具有很好參考價值的文章主要介紹了Docker環(huán)境安裝Postgresql數(shù)據(jù)庫Posrgresql 15.6。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

宿主機是ubuntu 22.04版本

ubuntu宿主機上安裝docker,參見官方文檔https://docs.docker.com/engine/install/ubuntu/, docker-ce是社區(qū)版 docker-ee是企業(yè)版
1、檢查Docker是否安裝

root@ODS1SPGOFSDEV:~# docker
Command 'docker' not found, but can be installed with:
snap install docker         # version 24.0.5, or
apt  install docker.io      # version 24.0.5-0ubuntu1~22.04.1
apt  install podman-docker  # version 3.4.4+ds1-1ubuntu1.22.04.2
See 'snap info docker' for additional versions.
root@ODS1SPGOFSDEV:~#

2、查看Docker各個版本,也可以參見https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/

root@ODS1SPGOFSDEV:~# snap info docker
...
channels:
  latest/stable:    24.0.5   2024-02-01 (2915) 136MB -
  latest/candidate: 24.0.5   2024-02-01 (2915) 136MB -
  latest/beta:      24.0.5   2023-10-30 (2915) 136MB -
  latest/edge:      24.0.5   2024-01-26 (2920) 136MB -
  core18/stable:    20.10.17 2023-03-13 (2746) 146MB -
  core18/candidate: ↑
  core18/beta:      ↑
  core18/edge:      ↑
root@ODS1SPGOFSDEV:~#

3、設(shè)置 Docker的apt倉庫

# Add Docker's official GPG key:
apt-get update
apt-get install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update

4、安裝docker20版本

# List the available versions:
apt-cache madison docker-ce | awk '{ print $3 }'
# Select the desired version and install:
VERSION_STRING=5:20.10.24~3-0~ubuntu-jammy
apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
#Verify that the Docker Engine installation is successful by running the hello-world image.
docker run hello-world
docker rmi -f hello-world
#Verify that the Docker is enable to startup while OS Startup
systemctl is-enabled docker

Docker環(huán)境安裝postgresql 15.6
步驟1:下載postgresql 15.6的docker鏡像,首先看有沒有postgresql的docker鏡像,再看有沒有postgresql 15.6的docker鏡像,可以到https://hub.docker.com/_/postgres/tags頁面查找

root@ODS1SPGOFSDEV:~# docker search postgresql --no-trunc --filter is-official=true
root@ODS1SPGOFSDEV:~# docker pull postgres:15.6

步驟2:查看postgresql 15.6的docker鏡像是否下載到了本機

root@ODS1SPGOFSDEV:~# docker images

步驟3:查看postgresql 15.6的docker鏡像信息,比如端口port和變量PGDATA的信息,比如查到"ExposedPorts": {“5432/tcp”: {}}和"PGDATA=/var/lib/postgresql/data"

root@ODS1SPGOFSDEV:~# docker inspect postgres:15.6

步驟4:使用postgresql 15.6的docker鏡像運行docker,一些參數(shù)可能需要修改到本機的信息比如變量PGDATA的信息,運行命令可以參考https://hub.docker.com/_/postgres

root@ODS1SPGOFSDEV:~# docker run -d --name postgresql15.6 --restart=always -e POSTGRES_PASSWORD=Dai2013! -e PGDATA=/pgdata -p 5432:5432 -v /var/lib/docker/volumes/pg_wal/_data:/pgdata postgres:15.6

**備注1:**必須要加-p 5432:5432,前一個5432表示宿主機(本機)的端口,后一個5432表示容器內(nèi)部的端口,一定要把容器內(nèi)部的端口映射到宿主機上,否則只是容器內(nèi)部通信,我們連宿主機就無法連上
不映射的情況下,看到結(jié)果如下。當(dāng)然如果如果把-p 5432:5432改成的話–network=host,這樣也行,不過就是宿主機和容器公共網(wǎng)絡(luò),也就不再需要做端口映射了

root@ODS1SPGOFSDEV:/# docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED       STATUS          PORTS      NAMES
6b1285cdf987   postgres:15.6   "docker-entrypoint.s…"   2 hours ago   Up 40 minutes   5432/tcp   postgresql15.6

映射的情況下,看到結(jié)果如下

root@ODS1SPGOFSDEV:/# docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED              STATUS              PORTS                                       NAMES
d3842f39b5f9   postgres:15.6   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp   postgresql15.6

**備注2:**加上-v 來綁定宿主機和容器內(nèi)部的目錄,這個/pgdata就是自定義的docker里面的postgresql的PGDATA環(huán)境變量值,而沒有使用docker里面默認的PGDATA變量值PGDATA=/var/lib/postgresql/data,這個/var/lib/docker/volumes/pg_wal/_data就是我宿主機(本機)掛載的卷,這樣我在宿主機(本機)的目錄/var/lib/docker/volumes/pg_wal/_data就是docker容器里面的目錄/pgdata1,宿主機沒有/pgdata1這個目錄,容器里面也沒有/var/lib/docker/volumes/pg_wal/_data這個目錄,詳情見下面的實驗結(jié)果
如果宿主機目錄是/pgdata/data,docker image中PGDATA變量是/var/lib/postgresql/data,我們只是想把宿主機目錄/pgdata/data綁定到docker目錄/var/lib/postgresql/data而不想更換docker image中PGDATA變量值/var/lib/postgresql/data的話,那么直接執(zhí)行如下就行

root@ODS1SPGOFSDEV:~# docker run -d --name postgresql15.6 --restart=always -e POSTGRES_PASSWORD=Dai2013! -p 5432:5432 -v /pgdata/data:/var/lib/postgresql/data postgres:15.6

**備注3:**發(fā)現(xiàn)這個docker的postgresql的pg_hba.conf文件最后面有一行host all all all scram-sha-256這條信息,所以不再需要額外加host all all 0.0.0.0/0 md5這種信息,外部的程序還是可以連接postgresql不會報錯connection failed: FATAL: no pg_hba.conf entry for host “IP Address”, user “XX”, database “postgres”, SSL off。

步驟5:查看剛剛運行的docker的日志
root@ODS1SPGOFSDEV:~# docker logs postgresql15.6
docker logs 后面可以是docker名稱postgresql15.6(docker run -d --name postgresql15.6 …),也可以是docker id,但是不能是docker image名稱postgres:15.6

docker run -v /var/lib/docker/volumes/pg_wal/_data:/pgdata1時,/var/lib/docker/volumes/pg_wal/_data表示宿主機的目錄,/pgdata1表示容器里面的目錄

root@ODS1SPGOFSDEV:/var/lib/docker/volumes/pg_wal/_data# docker exec -it 6b1285cdf987 /bin/bash
root@6b1285cdf987:/# df -h
Filesystem                          Size  Used Avail Use% Mounted on
overlay                              18G   13G  4.1G  76% /
tmpfs                                64M     0   64M   0% /dev
shm                                  64M  1.1M   63M   2% /dev/shm
/dev/mapper/pg_wal_vg-pg_wal         10G  145M  9.9G   2% /pgdata1
/dev/mapper/pg_syslog_vg-pg_syslog  5.0G   68M  5.0G   2% /etc/hosts
tmpfs                               7.8G     0  7.8G   0% /proc/acpi
tmpfs                               7.8G     0  7.8G   0% /proc/scsi
tmpfs                               7.8G     0  7.8G   0% /sys/firmware
root@6b1285cdf987:/#
root@6b1285cdf987:/# ls /pgdata1
base    pg_commit_ts  pg_hba.conf    pg_logical    pg_notify    pg_serial     pg_stat      pg_subtrans  pg_twophase  pg_wal   postgresql.auto.conf  postmaster.opts
global  pg_dynshmem   pg_ident.conf  pg_multixact  pg_replslot  pg_snapshots  pg_stat_tmp  pg_tblspc    PG_VERSION   pg_xact  postgresql.conf       postmaster.pid
root@6b1285cdf987:/#
root@6b1285cdf987:/# ls /var/lib/docker/volumes/pg_wal/_data
ls: cannot access '/var/lib/docker/volumes/pg_wal/_data': No such file or directory
root@6b1285cdf987:/#
root@6b1285cdf987:/# exit
exit
root@ODS1SPGOFSDEV:~# ll /pgdata1
ls: cannot access '/pgdata1': No such file or directory
root@ODS1SPGOFSDEV:~#
root@ODS1SPGOFSDEV:~# df -h
Filesystem                            Size  Used Avail Use% Mounted on
tmpfs                                 1.6G  1.7M  1.6G   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv      18G   13G  4.1G  76% /
tmpfs                                 7.8G     0  7.8G   0% /dev/shm
tmpfs                                 5.0M     0  5.0M   0% /run/lock
/dev/sda2                             2.0G  374M  1.5G  21% /boot
/dev/mapper/pg_syslog_vg-pg_syslog    5.0G   68M  5.0G   2% /var/lib/docker/containers
tmpfs                                 1.6G     0  1.6G   0% /run/user/0
/dev/mapper/pg_wal_vg-pg_wal           10G  143M  9.9G   2% /var/lib/docker/volumes/pg_wal/_data
root@ODS1SPGOFSDEV:~#
root@ODS1SPGOFSDEV:~# ls /var/lib/docker/volumes/pg_wal/_data
base    pg_commit_ts  pg_hba.conf    pg_logical    pg_notify    pg_serial     pg_stat      pg_subtrans  pg_twophase  pg_wal   postgresql.auto.conf  postmaster.opts
global  pg_dynshmem   pg_ident.conf  pg_multixact  pg_replslot  pg_snapshots  pg_stat_tmp  pg_tblspc    PG_VERSION   pg_xact  postgresql.conf       postmaster.pid

docker run --network=host是,PORTS一列沒有信息,且docker exec -it dockerid /bin/bash進入容器時,不再像root@d3842f39b5f9這樣顯示容器名,而是直接變成了root@ODS1SPGOFSDEV:/#主機名,只不過~變成了/文章來源地址http://www.zghlxwxcb.cn/news/detail-854131.html

root@ODS1SPGOFSDEV:~# docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED             STATUS             PORTS     NAMES
c1d3f8f35e27   postgres:15.6   "docker-entrypoint.s…"   About an hour ago   Up About an hour             postgresql15.6
root@ODS1SPGOFSDEV:~#
root@ODS1SPGOFSDEV:~# docker exec -it c1d3f8f35e27 /bin/bash
root@ODS1SPGOFSDEV:/#

到了這里,關(guān)于Docker環(huán)境安裝Postgresql數(shù)據(jù)庫Posrgresql 15.6的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • docker版postgresql數(shù)據(jù)庫主從配置

    參考:postgresql16配置主從 注意項 :當(dāng)前操作主路徑: ~/dockerEnv 【示例路徑】 創(chuàng)建 sql 文件,文件路徑 dockerEnv/dbInit/a_create_user.sql 注意: 如果在同一個宿主機操作,注意多個 yml 文件的端口映射,不要沖突! 掛載宿主機 sql 文件夾到容器的 docker-entrypoint-initdb.d 路徑下,容器啟

    2024年04月14日
    瀏覽(18)
  • 在Docker中運行PostgreSQL數(shù)據(jù)庫

    1.下載Docker 2.設(shè)置DockerHub賬號 3.運行Docker并下載Image 4.啟動PostgreSQL Image 5.連接到數(shù)據(jù)庫運行SQL 開放端口從Docker容器到主操作系統(tǒng),這將允許我們使用DBeaver來連接數(shù)據(jù)庫。 首先登錄進Docker,使用docker login命令。 登錄進去之后,可以下載Image,使用docker pull命令。 也可以使用d

    2024年02月08日
    瀏覽(19)
  • 【最全】從Docker中運行postgresql數(shù)據(jù)庫

    【最全】從Docker中運行postgresql數(shù)據(jù)庫

    有三種方式:Dockerfile 啟動、docker-compose啟動、通過命令行 我采用的是docker-compose.yml 的方式,大家可以自己玩一玩其他的兩種方式,參考這個鏈接 postgresql docker images list 如果安裝過程遇到以下報錯, 可以更換以下版本的pg 鏡像 docker pull postgres:15-bullseye 創(chuàng)建并進入 pg 目錄 3

    2024年02月07日
    瀏覽(47)
  • 在Linux環(huán)境中安裝配置Django與PostgreSQL數(shù)據(jù)庫

    Django是一款功能強大的Python Web框架,而PostgreSQL是一個開源的高級關(guān)系型數(shù)據(jù)庫系統(tǒng)。本文將介紹在Linux環(huán)境中如何安裝和配置Django與PostgreSQL數(shù)據(jù)庫,幫助您搭建一個完整的開發(fā)環(huán)境。 第一步:安裝Django和PostgreSQL 安裝Python環(huán)境:首先確保您的Linux系統(tǒng)中已經(jīng)安裝了Python,可以

    2024年02月16日
    瀏覽(24)
  • Linux 源碼安裝: PostgreSQL 15.6數(shù)據(jù)庫

    Linux 源碼安裝: PostgreSQL 15.6數(shù)據(jù)庫

    ??The Begin??點點關(guān)注,收藏不迷路?? ?? PostgreSQL 中文文檔 下載地址:https://www.postgresql.org/ftp/source/ 安裝結(jié)果: vi ~/.bashrc ,如果全局的則編輯/etc/profile。 可以執(zhí)行以下命令查看 PostgreSQL 版本信息: 1、創(chuàng)建一個名為 postgresql.service 的服務(wù)單元文件: 編輯 /etc/systemd/system/p

    2024年03月24日
    瀏覽(29)
  • CentOS 7安裝PostgreSQL 15版本數(shù)據(jù)庫

    CentOS 7安裝PostgreSQL 15版本數(shù)據(jù)庫

    目錄 一、何為PostgreSQL? 二、PostgreSQL安裝 2.1安裝依賴 2.2 執(zhí)行安裝 2.3 數(shù)據(jù)庫初始化 2.4 配置環(huán)境變量 2.5 創(chuàng)建數(shù)據(jù)庫 2.6 配置遠程 2.7 測試遠程 三、常用命令 四、用戶創(chuàng)建和數(shù)據(jù)庫權(quán)限 PostgreSQL是以加州大學(xué)伯克利分校計算機系開發(fā)的POSTGRES, 版本 4.2為基礎(chǔ)的對象關(guān)系型數(shù)據(jù)

    2024年02月15日
    瀏覽(23)
  • 數(shù)據(jù)庫應(yīng)用:CentOS 7離線安裝PostgreSQL

    數(shù)據(jù)庫應(yīng)用:CentOS 7離線安裝PostgreSQL

    目錄 一、理論 1.PostgreSQL 2.PostgreSQL離線安裝 3.PostgreSQL初始化 4.PostgreSQL登錄操作 二、實驗 1.CentOS 7離線安裝PostgreSQL ?2.登錄PostgreSQL 3.Navicat連接PostgreSQL 三、總結(jié) ? ? ? ? (1)簡介 PostgreSQL 是一個功能強大的開源對象關(guān)系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS), 用于安全的存 儲數(shù)據(jù),允許

    2024年02月16日
    瀏覽(23)
  • 數(shù)據(jù)庫管理系統(tǒng)PostgreSQL部署安裝完整教程

    數(shù)據(jù)庫管理系統(tǒng)PostgreSQL部署安裝完整教程

    ????????PostgreSQL是一個開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它支持大量的數(shù)據(jù)類型和復(fù)雜的查詢語言,可以用于各種應(yīng)用程序。它是一個高性能的數(shù)據(jù)庫,可以處理大量的數(shù)據(jù),并且具有良好的可擴展性和可靠性。 目錄 一.Linux系統(tǒng)安裝PostgresSQL(Centos7) 1.更新yun源 2.安裝Po

    2024年02月09日
    瀏覽(52)
  • Centos /Linux環(huán)境下利用Docker 安裝mysql5.7鏡像(含離線安裝),啟動mysql鏡像并初始化數(shù)據(jù)庫

    Centos /Linux環(huán)境下利用Docker 安裝mysql5.7鏡像(含離線安裝),啟動mysql鏡像并初始化數(shù)據(jù)庫

    使用有網(wǎng)的服務(wù)器下載好鏡像 保存下載好的鏡像成tar 將鏡像上傳到所需服務(wù)器(放在固定位置) 導(dǎo)入鏡像 注意名稱,這里的mysql5.7和上面打包 docker save imageid mysql5.7 的名稱一致,本例未改名 查看導(dǎo)入的鏡像,并重新命名鏡像 創(chuàng)建本地數(shù)據(jù)庫目錄、配置文件以及日志目錄(

    2024年02月10日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包