1. 程式人生 > >建立docker映象的兩種方式

建立docker映象的兩種方式

這裡寫圖片描述

1. docker commit方式

檢查一下已有映象和容器

docker images

這裡寫圖片描述

docker container ls

這裡寫圖片描述

這裡我們選擇對centos進行自定義映象

互動式執行centos容器

docker run -it centos

由此我們進入了centos容器
這裡寫圖片描述
執行後發現,官方提供的centos映象中並沒有提供vim工具,這裡我們選擇對centos映象增添vim工具,最後生成我們自定義的映象
這裡寫圖片描述

centos容器中安裝vim工具

yum install vim

這裡寫圖片描述

vim安裝成功

退出centos互動式程式

exit

這裡寫圖片描述

現在我們就有了一個經過我們自定義的container
這裡寫圖片描述

根據自定義的centos容器生成image

docker commit a68c0 chanmufeng/centos-vim

現在我們就有了安裝了vim之後的centos映象
這裡寫圖片描述

自定義映象和原始映象之間的關係

這裡寫圖片描述

2. Dockerfile建立映象

使用Dockerfile是更推薦的方式,這樣可以讓使用者更清晰地看到這個映象的製作細節

建立對應的目錄

mkdir centos-vim

編寫Dockerfile檔案

FROM centos:7
RUN yum install -y vim

docker build

docker build -t chanmufeng/centos-vim2 .

這裡寫圖片描述

過程解析

docker映象是隻讀的,這裡為什麼能夠在centos映象的基礎上進行自定義操作呢?
我們看一下docker的編譯過程
這裡寫圖片描述
編譯的第一步(綠色邊框)會複用之前已經存在的centos:7
重點是第二步
882832c2b8eb其實是在centos:7映象的基礎上生成的一個臨時container的id
我們忽略vim的安裝過程,跳到最後
這裡寫圖片描述
最後根據臨時生成的container來docker commit 生成映象檔案,最後刪除臨時container(對照部落格開始的圖示進行理解)