docker部署文檔(三)-關(guān)于oracle容器重啟后導(dǎo)致應(yīng)用容器啟動失敗的解決辦法

注意:

創(chuàng)新互聯(lián)建站自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計、成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊及專業(yè)的網(wǎng)站設(shè)計師團(tuán)隊。

  1. 如果應(yīng)用工程沒有變動, 那oracle服務(wù)重啟后, 應(yīng)用會自動重新連接, 服務(wù)也會恢復(fù)正常.

  2. 但是如果應(yīng)用工程在啟動時oracle未運行, 數(shù)據(jù)庫連接失敗會直接導(dǎo)致工程啟動失敗, oracle重新運行后也無法恢復(fù), 只能重啟應(yīng)用工程.

為實現(xiàn)服務(wù)器啟動?->?docker服務(wù)啟動?->?oracle容器啟動?->?oracle服務(wù)啟動?->?應(yīng)用容器啟動的順序保持不變. 以及實現(xiàn)docker服務(wù)啟動后, 添加防火墻規(guī)則允許容器內(nèi)部訪問宿主機(jī), 需要做如下修改.

1. 修改oracle容器的init.sh腳本

oracle容器中,?/root/init.sh腳本原來是使sysctl內(nèi)核參數(shù)及ulimit生效的, 現(xiàn)在修改如下

#!/bin/bashsysctl?-p
chown?oracle:oinstall?/opt/oracle
su?-?oracle?<<?EOF
lsnrctl??start
sqlplus?"/as?sysdba"?<<?EOF
startup
EOF##?上面的EOF將被兩個'<<'符號共用.echo?'complete...'

oracle容器啟動后沒有運行服務(wù), 進(jìn)入到容器中, 執(zhí)行這個腳本就可以啟動oracle了.

2. 實現(xiàn)docker服務(wù)啟動后按順序啟動數(shù)據(jù)庫與應(yīng)用容器

編輯/usr/lib/systemd/system/docker.service文件(這是一個類.ini的配置文件). 在[Service]塊中添加如下行

ExecStartPost=/bin/bash?/root/onDockerStart.sh

ExecStartPost表示在docker服務(wù)啟動后執(zhí)行的操作, 上述行表示在docker服務(wù)啟動后, 執(zhí)行onDockerStart.sh腳本. 腳本內(nèi)容如下

#!/bin/bash##?解除容器內(nèi)部訪問宿主機(jī)的限制##?有些情況下可能不存在INPUT_direct鏈iptables?-I?INPUT_direct?-s?172.21.0.0/16?-j?ACCEPT?||?iptables?-I?INPUT?-s?172.21.0.0/16?-j?ACCEPT##?啟動oracleoracle_cid=$(docker?ps?|?grep?oracle-final?|?awk?'{print?$1}')
docker?exec?$oracle_cid?bash?/root/init.shexit?0

對于應(yīng)用與數(shù)據(jù)庫分離的情況, 只要保證數(shù)據(jù)庫已經(jīng)啟動, 然后重啟啟動{cas,skydata-se,drgs,hdc-manager,etlloader}這些容器就可以了.

docker?stop|start?{cas,skydata-se,drgs,hdc-manager,etlloader}

網(wǎng)站名稱:docker部署文檔(三)-關(guān)于oracle容器重啟后導(dǎo)致應(yīng)用容器啟動失敗的解決辦法
當(dāng)前鏈接:http://bm7419.com/article8/igcgip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管外貿(mào)建站、虛擬主機(jī)標(biāo)簽優(yōu)化、微信小程序、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管