您好,登錄后才能下訂單哦!
Docker鏡像管理的常用操作?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
鏡像也是docker的核心組件之一,鏡像時容器運行的基礎,容器是鏡像運行后的形態。總體來說,鏡像是一個包含程序運行必要以來環境和代碼的只讀文件,它采用分層的文件系統,將每一層的改變以讀寫層的形式增加到原來的只讀文件上。
鏡像與容器的關系
前文已經向讀者介紹過容器的使用了,細心的讀者可能已經發現,容器在啟動或者創建時,必須指定一個鏡像的名稱或者id,其實,這時鏡像所扮演的角色就是容器的模版,不同的鏡像可以構造出不同的容器。如下命令:
docker run -itd --name nginx nginx
命令中的最后一個nginx即表示創建該容器所需要的模板
鏡像的體系結構
鏡像的最底層是一個啟動文件系統(bootfs)鏡像,bootfs的上層鏡像叫做根鏡像,一般來說,根鏡像是一個操作系統,例如Ubuntu、CentOS等,用戶的鏡像必須構建于根鏡像之上,在根鏡像之上,用戶可以構建出各種各樣的其他鏡像。從上面的介紹讀者可以看出,鏡像的本質其實就是一系列文件的集合,一層套一層的結構有點類似于Git。
鏡像的寫時復制機制
通過docker run 命令指定一個容器創建鏡像時,實際上是在該鏡像上創建一個空的可讀寫的文件系統層級,可以將這個文件系統層級當成一個臨時的鏡像來對待,而命令中所指的模版鏡像則可以稱之為父鏡像。父鏡像的內容都是以只讀的方式掛載進來的,容器會讀取共享父鏡像的內容,用戶所做的所有修改都是在文件系統中,不會對父鏡像造成任何影響。當然用戶可以通過其他一些手段使修改持久化到父鏡像中,這個我們后面會詳細介紹到。
查看
docker images
用戶可以通過docker images命令查看本地所有鏡像
這里一共有五個參數:
1.REPOSITORY
倉庫名稱,倉庫一般用來存放同一類型的鏡像,倉庫的名稱由其創建者指定。如果沒有指定則為。一般來說,倉庫名稱有如下幾種不同的形式。
2.TAG 用于區分同一倉庫的不同鏡像,默認為latest
3.IMAGE ID 是鏡像的一個唯一標識符
4.CREATED 鏡像的創建時間
5.SIZE 表示鏡像大小
使用docker images命令可以查看本地所有的鏡像,如果鏡像過多,可以通過通配符進行匹配,如下:
如果需要查看鏡像的詳細信息,也可以通過上文提到的docker inspect 命令來查看下載
當用戶執行docker run命令時,就會自動去Docker Hub上下載相關的鏡像,這個就不再重復演示,開發者也可以通過search命令去Docker Hub上搜索符合要求的鏡像,如下:
其中:
在執行docker run命令再去下載,速度會有點慢,如果希望該命令能夠快速執行,可以在執行之前,先利用docker pull命令將鏡像先下載下來,然后在運行。
運行命令如下:
刪除
鏡像可以通過docker rmi命令進行刪除,參數為鏡像的id或者鏡像名,參數可以有多個,多個參數之間空格隔開,如下:
有的時候,無法刪除一個鏡像,大部分原因是因為該鏡像被一個容器所依賴,此時需要先刪除容器,然后就可以刪除鏡像了。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。