oracle容器化docker解決方案

2021-09-08 12:03:32 字數 1375 閱讀 9055

docker提供了輕量級的虛擬化,它幾乎沒有任何額外開銷。

提供了乙個從開發到上線均一致的環境。

開發效率:一是我們想讓開發環境盡量貼近生產環境

二是我們想快速搭建開發環境

基於docker研發小組 qq群:108636195

概要:

1、只在資料庫初始化與資料庫遷移使用,普通迭代還是走提交增量指令碼

2、data、log、oracle三合一服務

data.tar 封裝資料檔案

log.tar 封裝日誌檔案

oracle.tar 封裝oracle應用依賴

3、swarm生態圈oracle統一管理

乙個專案乙個容器乙個oracle

統一管理監控每個節點oracle容器及服務

背景:測試環境、預發布演示環境、生產環境、資料庫老是不一致引起的種種問題。

目標:測試環境、預發布演示環境、生產環境 一體化。

技術目標:建立oracle源容器,dockerfile拉構建分支,oracle應用、資料檔案、歸檔日誌分離

落地方案:

一、建立oracle源容器

應用安裝oracle11g、sshd 同時暴露22、1521埠

oracle應用初始體積其實不大才519m

二、 啟動乙個容器指定22、1521埠,掛載data資料檔案目錄與歸檔日誌目錄

-p 對映埠(宿主機埠:容器內部埠)

-v 掛載目錄(同上)

--name 容器別名(用於服務集群)

三、啟動容器內oracle服務

指令碼:#start_oracle.sh

su - oracle 

sqlplus /nolog 

conn /as sysdba 

startup 

exit 

lsnrctl start 

exit 

docker exec oralce1 sh /root/start_oracle.sh

四、轉版本流程

1、只在資料庫初始化與資料庫遷移使用該方案,普通迭代還是走提交增量指令碼

2、data、log、oracle三合一服務

data.tar 封裝資料檔案

log.tar 封裝日誌檔案

oracle.tar 封裝oracle應用依賴

--

docker容器虛擬化

network namespace 是 linux 核心提供的功能,是實現網路虛擬化的重要功能,它能建立多個隔離的網路空間,它們有獨自網路棧資訊。不管是虛擬機器還是容器,執行的時候彷彿自己都在獨立的網路中。而且不同network namespace的資源相互不可見,彼此之間無法通訊。假如我們的物理機...

Docker容器虛擬化

network namespace 是 linux 核心提供的功能,是實現網路虛擬化的重要功能,它能建立多個隔離的網路空間,它們有獨自網路棧資訊。不管是虛擬機器還是容器,執行的時候彷彿自己都在獨立的網路中。而且不同network namespace的資源相互不可見,彼此之間無法通訊。假如我們的物理機...

docker容器虛擬化

network namespace 是 linux 核心提供的功能,是實現網路虛擬化的重要功能,它能建立多個隔離的網路空間,它們有獨自網路棧資訊。不管是虛擬機器還是容器,執行的時候彷彿自己都在獨立的網路中。而且不同network namespace的資源相互不可見,彼此之間無法通訊。假如我們的物理機...