四、Docker-構建自己的Docker鏡像

準備工作

一臺虛擬機
一個centos鏡像
centos鏡像中裝了docker
需求:構建一個安裝了vim的centos鏡像

一、方法一

  • 首先我們去pull一個centos
docker pull centos
  • 然後運行centos
docker run -it centos
  • 之後在centos容器中安裝vim:
yum install -y vim
  • 退出鏡像exit,然後先查看鏡像,根據鏡像名稱去構建image
docker commit nice_shockley tinner/centos-vim

至此,構建完畢。
但是此種方法有個弊端:我們是基於已經構建好的鏡像去安裝東西然後commit產生鏡像的, 但是可能我們在安裝的時候會產生一些不安全的因素,所以並不推薦用這種方法去構建鏡像,因此我們大多數情況下還是推薦用方法二

二、方法二(通過Dockerfile文件)

  • 首先我們創建一個Dockerfile文件:
FROM centos
RUN yum install -y vim
  • 然後build:
docker build -t tinner/centos-vim .

三、原理

在build的時候,我們知道:image是隻讀的,不能在其之上進行讀寫,要想讀寫只能在其container之上,其實它底層用的也是方法一:我們在build之後觀察控制檯可以發現:



在第二步開始的時候產生了一個臨時的container的id,然後基於這個臨時的container去進行安裝vim,安裝完成之後:



將這個臨時的container移除掉之後又產生了一個隨機的id,build成功之後將這個id作爲新的image的id
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章