建立docker映象的兩種方式
阿新 • • 發佈:2018-12-26
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(對照部落格開始的圖示進行理解)