- Docker容器技術與運維
- 李樹峰 鐘小平編著
- 776字
- 2025-04-02 16:08:23
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)建的運行時實例,容器與鏡像之間的關系類似于面向對象編程中的對象與類之間的關系。從應用程序的角度看,鏡像是應用程序生命周期的構建和打包階段,而容器則是啟動和運行階段。
- Linux運維之道(第3版)
- Linux運維實戰(zhàn):CentOS7.6操作系統(tǒng)從入門到精通
- Linux Mint Essentials
- 發(fā)布!設計與部署穩(wěn)定的分布式系統(tǒng)(第2版)
- 嵌入式Linux系統(tǒng)開發(fā):基于Yocto Project
- 高性能Linux服務器構建實戰(zhàn):運維監(jiān)控、性能調優(yōu)與集群應用
- Linux網絡內核分析與開發(fā)
- Kubernetes從入門到實踐
- Windows Server 2019 Administration Fundamentals
- Windows 7案例教程
- 嵌入式系統(tǒng)及其應用(第三版)
- 計算機系統(tǒng):基于x86+Linux平臺
- Linux命令行大全(第2版)
- ElasticSearch Cookbook
- RHCSARHCE 紅帽Linux認證學習指南(第7版)EX200 & EX300