建立映像檔有很多方法,使用者可以從 Docker Hub
取得已有映像檔並後來做修正更新,如上篇Docker Images深入探討中運用到Docker Commit
的工具,但如果你想要擁有自己的純手工打造的自虐心願呢?
這願望是可以的!我們就在本機上自己建立一個Dockerfile
吧!
先新建一個目錄和一個重要角色Dockerfile
(名稱與大小寫是固定的,不符合就無法執行後面的Build動作)
mkdir gylabdk
cd gylabdk
touch Dockerfile
Dockerfile 中每一條指令都會建立一層映像檔,如上篇提到他是屬於多層次堆疊上去的。
我們先來找最大眾的容器資源>>Docker Hub
從下圖可以知道這是來自各地各方慈善大大做好自己的映像檔免費公開讓大家取用的資源,你也可以透過左邊的篩選清單更精確找到您適合想要佈署的映像檔範本。
Sinatra是一個簡單的Ruby DSL,用於快速創建網頁應用程序。其中它內建路由功能,使用範本提供靜態文件,幫助程序,錯誤處理等其他主題。
使用#來註釋
FROM ubuntu (FROM 指令告訴Docker要用哪個映像檔作基底)
MAINTAINER Docker Gary <mosbbs2@gmail.com> (維護建立者的註記訊息)
RUN apt-get -qq update (RUN指令會在建立中執行,如:安裝套件,Ubuntu是使用`apt-get`來安裝指定套件)
RUN apt-get -qqy install ruby ruby-dev
RUN gem install sinatra
完成 Dockerfile 後可以使用docker build
建立映像。
docker build -t="sinatra/gylabdk:v1" .
tag
,指定新映像檔用戶訊息。Dockerfile當前所在目錄路徑
,也可以是其他的Dockerfile路徑。映像檔ID
。所有步驟中所產生的容器都會被自動移除。127層
映像檔建立成功並透過Images清單確認無誤,如紅框所示
sudo docker run -t -i sinatra/gylabdk:v1 /bin/bash
進入到sinatra容器在裡面就如同虛擬機器一樣可以做大部份指令髓能支援的事了。