日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

docker部署訪問postgres數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法_docker

作者:_七里香 ? 更新時(shí)間: 2022-05-22 編程語言

部署與訪問

宿主機(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哦

原文鏈接:https://lan6193.blog.csdn.net/article/details/122088367

欄目分類
最近更新