2021-05-12 14:32:11
製作Docker映象
編寫DockerFile
這個DockerFile是一個製作映象的配方,用於描述這些檔案,環境,和命令。在Linux、macOS的視窗終端中,或者windows的命令提示字元下,執行下面的步驟,切記如果你使用的是macOS或者windows,你依然建立的是執行在Linux下的映像。
- 建立一個目錄,在windows下使用md命令:
$ mkdir mydockerbuild
PS:構造映象所需的所有東西都放在這個資料夾中。
- 切換到mydockerbulid目錄中:
$ cd mydockerbulid
- 在當前目錄中,建立編輯Dockerfile文字檔案:
$ nano Dockerfile
- 複製下面這行,在檔案中新增From 語句:
From docker/whalesay:lastet
PS:這個From 關鍵字告訴Docker你的映像是基於哪個映像。
- 新增RUN 語句來在映像中安裝fortunes程式:
RUN apt-get -y update && apt-get install -y fortunes
這個whalesay映像是基於Ubuntu的,使用apt-get
進行安裝包。這兩個命令用來重新整理映像可用的包列表並安裝fortunes程式,用來輸出名言警句。 - 新增CMD 命令,這個告訴映像在它的環境被建立後,執行的命令,這個命令執行 fortune -a 且把它的輸出傳入cowsay程式。
CMD /usr/games/fortune -a | cowsay
- 驗證,你的檔案應該像這樣:
FROM docker/whalesay:latest RUN apt-get -y update && apt-get install -y fortunes CMD /usr/games/fortune -a | cowsay
從Dockerfile中建立Image
當你mydockerbulid目錄,使用docker bulid命令建立image,-t 引數來給你映像一個標籤,因此之後你可以更容易地執行它。不要忘記.命令,這表示該命令是在當前命令來查詢Dockerfile檔案。
PS:使用docker images 就可以看到我們新建立的映像。
$ docker build -t docker-whale . Sending build context to Docker daemon 2.048 kB ...snip... Removing intermediate container cb53c9d09f3b Successfully built c2c3152907b5
關於bulid構建過程
- Docker檢查並確保它有它構建所需要的一切,這會生稱下面這條資訊:
Sending build context to Docker daemon 2.048 kB
- Docker檢查whalesay映像是否在本地安裝,如果沒有從Hub上進行獲取。對應Dockerfile的FROM 語句,將會生成這樣的訊息:
Step 1 : FROM docker/whalesay:latest ---> 6b362a9f73eb
PS:執行每個步最後,將會列印ID,Dockerfile每一行對應於映像的每一圖層,這個ID是每一步驟建立的圖層。
- Docker啟動臨時容器來執行whalesay映像。在臨時容器中,Docker執行Dockerfile中下一個命令,即RUN命令,用於安裝fortune程式,當RUN命令完成時,將建立一個新圖層,刪除中間容器。
- 建立一個新的中間容器,Docker為Dockerfile中CMD行新增一個層,並刪除中間容器。
執行新構建的映像
docker run docker-whale
更多Docker相關教學見以下內容:
Docker安裝應用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
Ubuntu 14.04安裝Docker http://www.linuxidc.com/linux/2014-08/105656.htm
Ubuntu使用VNC執行基於Docker的桌面系統 http://www.linuxidc.com/Linux/2015-08/121170.htm
阿里雲CentOS 6.5 模板上安裝 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm
Ubuntu 15.04下安裝Docker http://www.linuxidc.com/Linux/2015-07/120444.htm
在Ubuntu Trusty 14.04 (LTS) (64-bit)安裝Docker http://www.linuxidc.com/Linux/2014-10/108184.htm
在 Ubuntu 15.04 上如何安裝Docker及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm
Ubuntu 16.04上Docker使用手記 http://www.linuxidc.com/Linux/2016-12/138490.htm
相關文章