Archive

文章標籤 ‘Container’

透過Oracle虛擬主機樣本檔案來建立容器環境

2014年7月8日 尚無評論

Oracle公司有提供一系列預先配置好的虛擬主機樣本檔案供使用Oracle VM Server的用戶進行匯入運用,而我們也可以透過這些虛擬主機樣本檔案轉換為Linux容器系統可以使用的格式來進行套用,接著,筆者將透過下列步驟示範如何從Oracle公司網站取得與使用這些免費的資源:

  • 步驟一:首先,如圖所示,讀者必須先連線到Oracle Software Delivery Cloud網站(https://edelivery.oracle.com),雖然這些虛擬主機樣本檔案是免費下載的,但我們還是需要擁有一個Oracle網站帳號才能夠進行資源的存取。

    螢幕快照 2014-06-19 17.21.36
    進入Oracle Software Delivery Cloud網站之後,讀者點選【Sign In / Register】按鈕進行帳號的登入或者是註冊一個新的Oracle網站帳號來進行資源的存取使用。

  • 步驟二:如圖所示,順利登入Oracle Software Delivery Cloud網站之後,系統會要求你針對一些存取授權規範進行閱覽與同意,讀者必須選擇同意後才可以進行下一個步驟的操作。

    螢幕快照 2014-06-19 17.22.15

  • 步驟三:當我們順利完成規範的同意作業之後,如圖4-7所示,便可以進行選擇欲下載的媒體套件,預設便會停留在Oracle VM Templates項目,讀者只要點選【Go】按鈕便可以進行相關套件內容的搜尋。

    螢幕快照 2014-06-19 17.22.26

  • 步驟四:如圖所示,讀者可以從搜尋出來的結果挑選欲下載的虛擬主機樣本檔案,點選下載後便可以取得一個ZIP的壓縮格式檔案。

    螢幕快照 2014-06-19 17.22.42

  • 步驟五:接著,筆者嘗試將下載的壓縮檔案上傳到主機中,並且透過unzip指令工具將這個虛擬主機樣本檔案解開,操作方式如下所示:

    [root@host01 ~]# unzip V18097-01.zip
    Archive: V18097-01.zip
    inflating: OVM_EL5U2_X86_64_TMPLBUILDER_PVM.tgz

    [root@host01 ~]# tar -zxvf OVM_EL5U2_X86_64_TMPLBUILDER_PVM.tgz OVM_EL5U2_X86_64_TMPLBUILDER_PVM/
    OVM_EL5U2_X86_64_TMPLBUILDER_PVM/README
    OVM_EL5U2_X86_64_TMPLBUILDER_PVM/System.img
    OVM_EL5U2_X86_64_TMPLBUILDER_PVM/data.img
    OVM_EL5U2_X86_64_TMPLBUILDER_PVM/vm.cfg

  • 步驟六:在步驟五解開的封裝壓縮檔案中讀者可以取得一個System.img檔案,這個檔案便是我們需求的檔案內容,接下來的操作步驟如下所示:

    [root@host01 ~]# mv OVM_EL5U2_X86_64_TMPLBUILDER_PVM/System.img .
    [root@host01 ~]# kpartx -l System.img
    loop0p1 : 0 192717 /dev/loop0 63
    loop0p2 : 0 8193150 /dev/loop0 192780
    loop0p3 : 0 4209030 /dev/loop0 8385930
    loop deleted : /dev/loop0
    [root@host01 ~]# kpartx -a System.img
    [root@host01 ~]# ls /dev/mapper/
    control loop0p1 loop0p2 loop0p3 vg_host01-lv_root vg_host01-lv_swap

    [root@host01 ~]# mount /dev/mapper/loop0p2 /mnt/
    [root@host01 ~]# cd /mnt/
    [root@host01 mnt]# ls
    bin dev home lib64 media opt root selinux sys usr boot etc lib lost+found mnt proc sbin srv tmp var
    [root@host01 mnt]# find . -mount -depth | cpio -pdv /container/ol52-template

    2642999 blocks
    [root@host01 ~]# umount /mnt
    [root@host01 ~]# kpartx -d System.img
    [root@host01 ~]# lxc-create -n ol52-64 -t oracle — -t /container/ol52-template

    大功告成 !!