Docker 安裝與使用

由於Android Nougat必須使用Open JDK 8來編譯,若同時又要持續維護舊版Marshmallow的原始碼,時常需要將Java版本換來換去,造成了許多不便。因此在天時地利人和之下,泰勞也開始學習使用近幾年非常火熱的虛擬化工具-Docker

參考資料:
什麼是Docker? <<Docker--從入門到實踐>>
Docker虛擬化容器技巧-凍仁的筆記

簡單的說,Docker能夠讓你在原有的工作環境底下,依照自己的需求來選擇合適的映像檔,並建立一個虛擬的工作容器(Container),接著只需要將想處理的東西掛載至這個與外界隔絕的工作容器裡面即可。然而,它並不完全是一個虛擬的作業系統,因此可以節省許多的硬碟空間,泰勞最近使用過的Docker映像檔大約落在1GB到3GB之間喔!

安裝

泰勞的工作環境是Ubuntu14.04,以下指令可以直接透過系統內建套件安裝,按照參考資料的教學一步一步走,沒有遇到太大的問題。

$ sudo apt-get update
$ sudo apt-get install -y docker.io
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
$ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

安裝完成後,查看一下版本,順便設定Usermod並啟動Docker服務。

$ docker version
$ sudo usermod -a -G docker $USER    //下一次登入才會生效
$ sudo service docker start

檢查一下是否有確實啟動。

$ ps -ef | grep docker


使用

成功啟動之後就可以開始使用Docker囉!首要步驟當然是先取得一份映像檔,就從萬年不敗的hello-world開始吧!

$ docker pull hello-world
$ docker images    //查看本地端有哪些映像檔


$ docker run hello-world


如果能夠成功執行hello-world,就代表相關的安裝與設定都是正確的,接著來嘗試Pull其他的映像檔並開始使用它吧!

$ docker pull ubuntu


取得一個名為ubuntu的映像檔之後,若想要使用它,必須建立一個容器(Container)並將其啟動。

$ docker run -it -v $LOCAL_PATH:$CONTAINER_PATH ubuntu bash    //必須為絕對路徑


如上圖所示,其指令的意思是將家目錄的AndroidStudioProjects掛載至ubuntu的Container裡面的/home/kuanlin目錄底下,此時這些被掛載進來的檔案就已經身處在虛擬的工作環境裡囉!

結束工作之後,若映像檔不需再使用,可以透過以下指令將其刪除。

$ docker rmi $IMAGEID    //REPOSITORY也可以


其實Docker映像檔都不會很大,若非硬碟空間真的不夠用,可以多留幾個,看到滿滿的映像檔也能讓人很開心的,因為我真的超級喜歡這個工具!

留言

這個網誌中的熱門文章

Repo 實用指令

什麼是 Bootloader?

程式語言常用之符號與詞彙 - 中英文對照