官术网_书友最值得收藏!

1.1.2 鏡像與容器

Docker是軟件開發(fā)人員和系統(tǒng)管理員使用容器開發(fā)、部署和運行應用程序的平臺。了解容器首先要了解鏡像。

容器通過運行鏡像(Image)來啟動。鏡像是一個可執(zhí)行的軟件包,其中包含運行應用程序時所需的一切資源——代碼、運行時、庫、環(huán)境變量和配置文件。一個鏡像往往會基于另一個鏡像進行一些額外的定制。例如,可以構建一個基于Ubuntu操作系統(tǒng)的鏡像,其中安裝Apache Web服務器和應用程序,并且包括運行應用程序所需的配置。可以創(chuàng)建自己的鏡像,也可以使用由別人創(chuàng)建并發(fā)布到Docker注冊中心的第三方鏡像。

要自己構建鏡像,通常需要創(chuàng)建一個Dockerfile文件來指定創(chuàng)建該鏡像并運行它所需的全部步驟。Dockerfile文件中的每個指令會在鏡像中創(chuàng)建一個層。當修改Dockerfile文件并重新構建該鏡像時,只有那些變更過的層才會被重新構建。這就是與虛擬化技術相比,鏡像是如此輕量、小巧和快速的部分原因。

容器是鏡像可運行的實例,運行中的容器是位于內存中且有狀態(tài)的鏡像,本質上是一個用戶進程。Docker的應用程序以容器的形式來部署和運行,一個鏡像可以用來創(chuàng)建多個容器。使用容器來部署應用程序被稱為容器化(Containerization)。默認情況下,容器使用沙箱機制,容器與主機和其他容器之間不會有任何接口,能夠相互隔離。管理員可以控制如何將一個容器的網絡、存儲或其他底層子系統(tǒng)與另一個容器或主機進行隔離。

用戶可以創(chuàng)建、啟動、停止、移動或刪除容器,也可以將容器接入一個或多個網絡,或者將存儲附加到容器,甚至可以基于容器的當前狀態(tài)創(chuàng)建一個新的鏡像。創(chuàng)建或啟動容器時,容器通過其鏡像和所提供的配置選項進行定義。容器被刪除后,如果沒有對其狀態(tài)的任何變更提供持久性存儲,則變更都會消失。

鏡像是用于創(chuàng)建Docker容器的只讀模板,容器是從鏡像創(chuàng)建的運行時實例,容器與鏡像之間的關系類似于面向對象編程中的對象與類之間的關系。從應用程序的角度看,鏡像是應用程序生命周期的構建和打包階段,而容器則是啟動和運行階段。

主站蜘蛛池模板: 同仁县| 开平市| 乌拉特后旗| 新营市| 金寨县| 古田县| 阿瓦提县| 鸡泽县| 辽源市| 和龙市| 菏泽市| 揭阳市| 沈阳市| 肥东县| 大同市| 靖西县| 蒙自县| 黄陵县| 顺昌县| 中西区| 呼伦贝尔市| 江门市| 开平市| 循化| 浙江省| 长沙市| 昌黎县| 无棣县| 武冈市| 宿松县| 建平县| 平果县| 阳朔县| 攀枝花市| 岚皋县| 陵川县| 武宁县| 华蓥市| 阿拉尔市| 图片| 承德市|