溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

docker怎么部署訪問postgres數(shù)據(jù)庫

發(fā)布時(shí)間:2022-03-21 09:09:47 來源:億速云 閱讀:485 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“docker怎么部署訪問postgres數(shù)據(jù)庫”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“docker怎么部署訪問postgres數(shù)據(jù)庫”吧!

部署與訪問

宿主機(jī)創(chuàng)建postgres用戶:

adduser postgres

拉取鏡像,此處以12.1版本為例:

docker pull postgres:12.1

創(chuàng)建所用的卷

docker volume create pgdata_test_env

啟動(dòng)(密碼為123456):

docker run --user=0  -p 45565:5432 -d --name pg_test --restart always \
-v pgdata_test_env:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=123456  \
postgres:12.1

訪問pg,進(jìn)入容器(注意需要用postgres 用戶):

docker exec -ti -u postgres pg_test bash
psql

啟用日志

  • show log_destination;   查看日志記錄類型,未開啟時(shí)顯示off

  • show log_directory;     查看日志路徑

啟用日志:alter system set logging_collector='on';   重啟pg容器。

如果需要修改pg配置

首先查看docker root地址:

執(zhí)行docker info,找Docker Root
Docker Root Dir: /opt/docker

進(jìn)入卷內(nèi)部:

cd /opt/docker/volumes/pgdata_test_env/_data
postgresql.conf就是配置文件,修改完后重啟pg即可

重啟pg

重啟方式有兩種:

方法1:docker restart pg_test
 
方法2:進(jìn)入容器,
docker exec -ti -u postgres pg_test bash
cd /var/lib/postgresql/data
pg_ctl restart
即可重啟成功

代碼&外部連接時(shí)注意(溫馨提示)

訪問時(shí)兩種形式皆可:
1,使用容器Ip和映射的容器內(nèi)端口
2,使用宿主機(jī)ip和映射的宿主機(jī)端口
如果使用第二種時(shí)如果出現(xiàn)以下兩種類似的連不上pg的報(bào)錯(cuò):
read: connection reset by peer     或
i/o timeout
但進(jìn)入容器使用pg正常,這就需要排查網(wǎng)絡(luò)層面的問題,如端口是否開放,如果你有這方面的未決問題可以提出來,我?guī)湍憬鉀Q哦

感謝各位的閱讀,以上就是“docker怎么部署訪問postgres數(shù)據(jù)庫”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)docker怎么部署訪問postgres數(shù)據(jù)庫這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI