關(guān)于Docker部署postgresql數(shù)據(jù)庫(kù)的問(wèn)題
環(huán)境
Centos-7
Postgresql-10
docker-19
yum加載Postgresql
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y
查看Postgresql版本
yum list | grep postgresql
下載Postgresql鏡像
#拉取得是版本10 docker pull postgres:10
postgis擴(kuò)展的postgresql組合版本:
使用kartoza/postgis
鏡像安裝:
#書(shū)寫(xiě)格式 kartoza/postgis:[postgres_version]-[postgis-version] 11.0-2.5 10.0-2.4 9.6-2.4 # 例如:拉取 postgresql 9.6 版本以及postgis 2.4 版本 docker pull kartoza/postgis:9.6-2.4
或參照DockerFile構(gòu)建鏡像:http://www.dbjr.com.cn/article/115422.htm
DockerFile運(yùn)行命令
# -f DockerFile路徑 -t 自定義鏡像名稱 不要忘記 . docker build -f /docker/dockerfile/mycentos -t mycentos .
創(chuàng)建宿主機(jī)映射sql目錄
#這里我在var/lib/下創(chuàng)建 mkdir /var/lib/PostgreSqlData
構(gòu)建鏡像
#鏡像名稱修改(docker tag 鏡像ID 自定義名稱) docker run --name my_postgres -v /home/data:/var/lib/postgresql -e POSTGRES_PASSWORD=****** -d -p ****:5432 postgres
--name : 自定義容器名稱
-v :進(jìn)行映射,本地目錄:容器內(nèi)路徑
POSTGRES_PASSWORD:數(shù)據(jù)庫(kù)密碼
-p:映射端口,宿主機(jī)端口:容器端口
最后是 鏡像名稱:端口號(hào)
這里有個(gè)簡(jiǎn)便的命令
docker run -d --name postgres --restart always -e POSTGRES_USER='postgres' -e POSTGRES_PASSWORD='abc123' -e ALLOW_IP_RANGE=0.0.0.0/0 -v /home/postgres/data:/var/lib/postgresql -p 5432:5432 -t postgis
- -e ALLOW_IP_RANGE=0.0.0.0/0,這個(gè)表示允許所有ip訪問(wèn),如果不加,則非本機(jī) ip 訪問(wèn)不了
- -e POSTGRES_USER=abcuser 用戶名
- -e POSTGRES_PASS=‘abc123’ 指定密碼
進(jìn)入postgres容器
docker exec -it 容器ID bash
更新軟件源
#更新軟件源列表 apt-get update #安裝vim apt-get -y install vim
配置遠(yuǎn)程訪問(wèn)
#切換到目錄/var/lib/postgresql/data cd /var/lib/postgresql/data
編輯postgresql.conf文件
#修改:在所有IP地址上監(jiān)聽(tīng),從而允許遠(yuǎn)程連接到數(shù)據(jù)庫(kù)服務(wù)器: listening_address: '*'
編輯pg_hba.conf文件
#添加或修改:允許任意用戶從任意機(jī)器上以密碼方式訪問(wèn)數(shù)據(jù)庫(kù),把下行添加為第一條規(guī)則: host all all 0.0.0.0/0 md5
修改編碼格式
update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'basemap'
查看pg版本
show server_version; # 或者 select version();
嘗試登錄
#登錄數(shù)據(jù)庫(kù) psql -U postgres -W
重點(diǎn):報(bào)錯(cuò) psql: FATAL: Peer authentication failed for user "postgres"
問(wèn)題一:
#peer(不可信),trust(可信),md5(加密)
修改 /etc/postgresql/10/main/pg_hba.conf 文件
找到下面這行
local all postgres peer
修改成md5(加密) (或改成 trust(可信))
local all postgres md5
問(wèn)題二:
切換操作用戶
#切換成postgres用戶 su postgres
嘗試登錄,成功。
重啟容器
docker restart 容器name
完成!
推薦github路徑:postgres+postgis多版本部署DockerFile文件集:https://github.com/postgis/docker-postgis
到此這篇關(guān)于Docker部署postgresql數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)Docker部署postgresql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- PostgreSQL數(shù)據(jù)庫(kù)遷移部署實(shí)戰(zhàn)教程
- postgresql 12版本搭建及主備部署操作
- postgresql數(shù)據(jù)庫(kù)安裝部署搭建主從節(jié)點(diǎn)的詳細(xì)過(guò)程(業(yè)務(wù)庫(kù))
- PostgreSQL中Slony-I同步復(fù)制部署教程
- Windows?環(huán)境搭建?PostgreSQL?邏輯復(fù)制高可用架構(gòu)數(shù)據(jù)庫(kù)服務(wù)
- PostgreSQL邏輯復(fù)制解密原理解析
- PostgreSQL 邏輯復(fù)制 配置操作
- postgresql流復(fù)制原理以及流復(fù)制和邏輯復(fù)制的區(qū)別說(shuō)明
- PostgreSQL部署邏輯復(fù)制過(guò)程詳解
相關(guān)文章
創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法
這篇文章主要介紹了創(chuàng)建支持SSH服務(wù)的Docker鏡像的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08使用docker compose安裝harbor私有倉(cāng)庫(kù)的詳細(xì)教程
harbor鏡像倉(cāng)庫(kù)是由VMware開(kāi)源的一款企業(yè)級(jí)鏡像倉(cāng)庫(kù),它包括權(quán)限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊(cè)、鏡像復(fù)制等諸多功能,本文給大家介紹docker compose安裝harbor的方法,需要的朋友參考下吧2021-06-06docker之如何設(shè)置日志文件大小及個(gè)數(shù)
這篇文章主要介紹了docker之如何設(shè)置日志文件大小及個(gè)數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Docker安裝logstash的詳細(xì)過(guò)程
這篇文章主要介紹了Docker安裝logstash的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09用docker搭建selenium grid分布式環(huán)境實(shí)踐之路
這篇文章主要介紹了用docker搭建selenium grid分布式環(huán)境實(shí)踐之路,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03利用Dockerfile制作java運(yùn)行環(huán)境的鏡像的方法步驟
這篇文章主要介紹了利用Dockerfile制作java運(yùn)行環(huán)境的鏡像的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Docker-Compose實(shí)現(xiàn)Mysql主從的示例代碼
本文主要介紹了Docker-Compose實(shí)現(xiàn)Mysql主從的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06