大神解說在unbuntu下Docker安裝oracle和mysql
一、安裝docker
更新apt源,安裝CA證書,命令如下:
添加GPG密鑰:
打開/etc/apt/sources.list.d/docker.list文件(沒有就建一個)
添加源deb https://apt.dockerproject.org/repo ubuntu-xenial main然後保存
根據系統版本選擇不同的源:
這裡選擇Ubuntu Xenial 16.04 (LTS)
更新apt,並確定Docker 的源正確
安裝:
支持普通用戶使用docker
ppa安裝docker組已經被創建了,不然sudo groupadd docker建一下
二、把oracle-oracle-xe-11g pull到本地
docker pull sath89/oracle-xe-11g
pull後顯示:
創建並啟動oracle實例:
其中 -p 9090:8080是docker鏡像中Oracle Application Express web management埠8080映射到本地9090埠:
三、安裝oracle即時客戶端instantclient:
具體參考以前的一個博文打造ubuntu下精簡版的oracle客戶端及pro*c編譯環境
11g的instantclient軟體oracle官網上找不到了我把它放到天翼雲上(訪問碼:6540)
本地配置oracle的SID:
在/opt/oracle/product/network/admin/tnsnames.ora(和instantclient路徑有關)追加:
不配置也可以直接:
配置好了就可以這樣訪問
其中sys和system是預設的兩個用戶,一個是sysdba許可權一個是system許可權。初始密碼都為oracle
建議安裝成功後立刻修改sys密碼
創建表空間
修改系統默認表空間
創建用戶、授權並制定表空間
建表腳本 myscott.sql :
執行腳本、查詢:
四、不安裝客戶端直接在docker內執行sqlplus:
五、停止和啟動容器中oracle實例
為方便後續的管理可在.bashrc中追加alias
也可以在
指定容器名oracle1,這樣用來以下方式來停止和啟動實例:
而不必使用前面由docker隨機生成的CONTAINER ID
可用~$ docker rename oracle1 ora1來重命名docker容器名,用~$docker rm 容器名or容器ID來刪除,也可用下面的命令全部刪除
當然啟動狀態下是不能刪的。
只要改變埠和數據存放路徑,一個鏡像可以建立多個oracle實例,如:
這樣你可以很容易建立多個oracle環境。
六、運行mysql
這裡必須加上-h 127.0.0.1,不然哪怕指定了埠-P3307還是連到宿主機的mysql而不是docker容器的那個,這是因為宿主機上在.my.cf指定了3306埠。
※教你認識Linux 各發行版之間的聯繫和區別
※「安卓系統的安全性」 ≥「iOS的安全」
TAG:Linux資訊速推 |