【postgres】CentOS7.x上docker安裝postgres

一哥力、實(shí)驗(yàn)環(huán)境

操作系統(tǒng): CentOS7.5 Mininmal

IP: 192.168.1.104

docker版本:18.06.0-ce

posgres鏡像版本:9.6


二唇敞、安裝docker


關(guān)閉selinux

# setenforce 0

# sed? -i? 's/^SELINUX=.*/SELINUX=permissive/g'? /etc/selinux/config


下載docker二進(jìn)制安裝包

# yum? -y install? ?wget?

# wget? ?https://download.docker.com/linux/static/stable/x86_64/docker-18.06.0-ce.tgz

#? tar -zxf? ?docker-18.06.0-ce.tgz

#? ll? ?./docker

# cp ./docker/docker*? ?/usr/bin

?創(chuàng)建docker服務(wù)的unit文件

# vim ?/etc/systemd/system/docker.service

##############################################################

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

[Service]

Type=notify

# the default is not to use systemd for cgroups because the delegate issues still

# exists and systemd currently does not support the cgroup feature set required

# for containers run by docker

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

# Having non-zero Limit*s causes performance problems due to accounting overhead

# in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

# Uncomment TasksMax if your systemd version supports it.

# Only systemd 226 and above support this version.

#TasksMax=infinity

TimeoutStartSec=0

# set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

# kill only the docker process, not all processes in the cgroup

KillMode=process

# restart the docker process if it exits prematurely

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

##############################################

啟動(dòng)docker服務(wù),設(shè)置開(kāi)機(jī)自啟

# systemctl daemon-reload

# systemctl start docker

# systemctl ?status docker

# systemctl enable docker

# docker ?info

# docker ?version

設(shè)置鏡像加速

#? curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

#? systemctl restart docker


三零远、初始化Postgres


拉取postgre 9.6 版本鏡像

# docker pull postgres:9.6

# docker images

# docker run -it --rm?postgres:9.6? cat /etc/issue

# docker run -it --rm postgres:9.6 cat /etc/passwd

創(chuàng)建postgres數(shù)據(jù)存儲(chǔ)目錄

#? mkdir? ?-p? ?/var/lib/postgresql/data


創(chuàng)建postgres容器

#?docker run -it \

? --name postgres \

-e??POSTGRES_USER="postgres" \

-e?POSTGRES_DB="postgres" \

? -e POSTGRES_PASSWORD="Postgres@123"? \

? -v /var/lib/postgresql/data:/var/lib/postgresql/data \

? -p 5432:5432 \

? postgres:9.6


此處容器創(chuàng)建我們用到了幾個(gè)環(huán)境變量:

-e??POSTGRES_USER="postgres"?

-e?POSTGRES_DB="postgres"?

?-e POSTGRES_PASSWORD="Postgres@123"

表示創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)管理員用戶(hù) postgres,初始庫(kù)為postgres厌蔽,密碼設(shè)置為Postgres@123

更多環(huán)境變量參考官方文檔:https://docs.docker.com/samples/library/postgres

# docker ps -a

# ss? -tan? | grep? 5432

開(kāi)放相關(guān)端口

#? firewall-cmd --zone=public? --add-port=5432/tcp --permanent

#? firewall-cmd --reload


命令行登錄數(shù)據(jù)庫(kù)

# docker exec -it -u postgres? ?postgres? ?bash

$ id

$ psql

postgres=# \l

創(chuàng)建的數(shù)據(jù)庫(kù)牵辣,默認(rèn)開(kāi)放的用戶(hù)的遠(yuǎn)程登錄



查看初始化的生成的數(shù)據(jù)庫(kù)目錄下數(shù)據(jù)

# ll /var/lib/postgresql/

# ll /var/lib/postgresql/data/

可以看出,我們創(chuàng)建的postgres的生成的持久化存儲(chǔ)的文件中包括了postgres的配置文件:

/var/lib/postgresql/data/postgresql.conf

/var/lib/postgresql/data/pg_hba.conf

/var/lib/postgresql/data/pg_ident.conf

如果需做相關(guān)配置變更奴饮,更改相應(yīng)的文件纬向,重啟服務(wù)生效择浊。


四、將postgres服務(wù)注冊(cè)成系統(tǒng)服務(wù)


刪掉初始化容器

# docker stop postgres

# docker rm postgres


創(chuàng)建postgres的systemd Unit文件

# vim /etc/systemd/system/postgres.service

#######################################################

[Unit]

Description=Postgres Server

After=network-online.target docker.service

Requires=docker.service

[Service]

ExecStartPre=-/usr/bin/docker rm -f postgres

ExecStart=/usr/bin/docker run \

? --name postgres \

? -p 5432:5432 \

? -v /var/lib/postgresql/data:/var/lib/postgresql/data \

? postgres:9.6

ExecStop=/usr/bin/docker stop postgres

LimitNOFILE=65535

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

########################################################

你應(yīng)該注意到了逾条,Unit文件中琢岩,docker run的參數(shù)中并不需要初始化那會(huì)的環(huán)境變量了

因?yàn)槌跏蓟瘯r(shí)已持久化存儲(chǔ)在數(shù)據(jù)庫(kù)目錄中了,啟動(dòng)時(shí)會(huì)去讀取膳帕,不用再以明文形式寫(xiě)入文件粘捎,增強(qiáng)了安全性!


重新啟動(dòng)服務(wù)

#?systemctl daemon-reload

#?systemctl start postgres

#?systemctl status postgres

#?systemctl enable postgres


五危彩、網(wǎng)頁(yè)版postgreSQL數(shù)據(jù)庫(kù)管理工具

pgAdmin?是一個(gè)非常流行攒磨、功能強(qiáng)大并且開(kāi)源的 PostgreSQL 管理與開(kāi)發(fā)平臺(tái)。

pgAdmin 支持 Linux汤徽、Unix娩缰、Mac OS X 以及 Windows 操作系統(tǒng),可以管理 PostgreSQL 9.2 以及更高版本谒府。


pgAdmin 4 (Windows)

https://www.pgadmin.org/download/pgadmin-4-windows

http://127.0.0.1:59484/browser/#


pgAdmin 支持多語(yǔ)言界面拼坎,默認(rèn)為英語(yǔ)。

我們將其改為中文界面完疫,點(diǎn)擊“File”下拉菜單泰鸡,選擇“Preferences”,找到左側(cè)列表中的“miscellaneous” -> “User language”壳鹤,然后在右側(cè)下拉列表中選項(xiàng)“Chinese (Simplified)”盛龄。


最后點(diǎn)擊“Save”保存設(shè)置,需要重新打開(kāi)或者刷新瀏覽器才能生效



六芳誓、參考

postgres

https://docs.docker.com/samples/library/postgres


【Docker】CentOS7.x上docker的安裝方式

http://www.reibang.com/p/d1a07a13a76f


【Docker&MySQL】CentOS7.x上容器部署MySQL

http://www.reibang.com/p/c74b1d2d8ad4


Dockerfile to build a PostgreSQL container image which can be linked to other containers

https://github.com/sameersbn/docker-postgresql


命令行方式登錄PostgreSQL

https://www.cnblogs.com/xxfcz/p/6483892.html


PostgreSQL 管理工具之 pgAdmin

https://blog.csdn.net/horses/article/details/90665711

PostgreSQL pg_hba.conf 文件簡(jiǎn)析

https://www.cnblogs.com/hiloves/archive/2011/08/20/2147043.html


PostgreSQL pg_ident.conf 文件簡(jiǎn)析

https://www.cnblogs.com/hiloves/archive/2011/08/24/2152144.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末余舶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子锹淌,更是在濱河造成了極大的恐慌匿值,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赂摆,死亡現(xiàn)場(chǎng)離奇詭異挟憔,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)烟号,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)曲楚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人褥符,你說(shuō)我怎么就攤上這事龙誊。” “怎么了喷楣?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵趟大,是天一觀的道長(zhǎng)鹤树。 經(jīng)常有香客問(wèn)我,道長(zhǎng)逊朽,這世上最難降的妖魔是什么罕伯? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮叽讳,結(jié)果婚禮上追他,老公的妹妹穿的比我還像新娘。我一直安慰自己岛蚤,他們只是感情好邑狸,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著涤妒,像睡著了一般单雾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上她紫,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天硅堆,我揣著相機(jī)與錄音,去河邊找鬼贿讹。 笑死渐逃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的民褂。 我是一名探鬼主播朴乖,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼助赞!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起袁勺,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤雹食,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后期丰,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體群叶,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年钝荡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了街立。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡埠通,死狀恐怖赎离,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情端辱,我是刑警寧澤梁剔,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布虽画,位于F島的核電站,受9級(jí)特大地震影響荣病,放射性物質(zhì)發(fā)生泄漏码撰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一个盆、第九天 我趴在偏房一處隱蔽的房頂上張望脖岛。 院中可真熱鬧,春花似錦颊亮、人聲如沸柴梆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)轩性。三九已至,卻和暖如春狠鸳,著一層夾襖步出監(jiān)牢的瞬間揣苏,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工件舵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卸察,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓铅祸,卻偏偏與公主長(zhǎng)得像坑质,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子临梗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容