「Docker」Docker教程+学习笔记
Docker概覽
docker是一個開發,運輸,承載應用的開源平臺。docker能夠將一個大型項目的各個模塊獨立,各模塊獨立也就意味著傳送獨立、部署獨立、環境獨立、測試獨立,為開發大型項目提供了極大的方便。
docker允許在一個約束少、獨立的環境中對應用打包和運行,該環境叫做容器。docker的獨立性和安全性允許多個容器在一個給定的主機上同時運行。容器中的環境和主機中的環境是彼此獨立的,且容器可以傳輸和分享。
Docker架構
docker使用客戶-服務器的架構,服務器完成構建、運行、分發容器的工作;客戶和服務器可以在同一臺主機上進行工作,也可以通過遠程鏈接,在各自的主機上工作。
Docker術語
-
The Docker daemon(dockerd)
可以看做客戶-服務器架構中的服務器,daemon聽取docker api請求,并管理docker的對象,比如圖像(images),容器(containers),網絡(network),容積(volumes)。daemon可以與其他daemon交流,以管理docker服務 -
The Docker client(docker)
可以看做客戶-服務器架構中的客戶,也是docker用戶交互的主要方式。當docker用戶使用命令docker run時,客戶發送這些命令到dockerd。客戶能與多個daemon進行交流 -
Docker registries(registry)
保存docker image的地方,Docker Hub是一個任何人都可以公開登記的地方,且在docker上拉取image時如非指定,默認從Docker Hub上拉取。支持私人登記。
當使用命令docker pull或docker run時,對應的鏡像將從配置好的登記處拉取。當使用docker push命令時,image將會被推送到配置好的登記處。 -
Docker objects
使用docker過程中涉及的images,containers,networks,volumes,plugins和其他對象均屬于docker的對象范圍Docker images(鏡像)
image是一個只讀的模板,帶有創建container的指令。通常,一個image是基于另一個image,有可能需要安裝一些額外的內容。比如,當你構建基于ubuntu的image時,仍然需要安裝Apache網頁服務器和應用等。
可以使用自己的image,也可以使用別人在登記處公開的image。
創建自己的image,需要創建一個包含簡單語法的Dockerfile,這些語法定義了創建和運行image的步驟。Dockerfile中的每一條指令在image中創建一個層(layer)。當改變Dockerfile,重建image時,只有那些修改過的層會被重建。
image包含容器的文件系統,也包含了運行應用程序所需的一切——依賴、配置、腳本、二進制文件等。Docker containers(容器)
container是image的可執行實例,可以使用Docker API或CLI創建,啟動,停止,移動,刪除一個container;也可以將一個container鏈接到另一個或多個網絡,賦予其存儲,或者創建一個基于它當前狀態的image
默認情況下,container之間是相對隔離的。用戶可以控制container之間的網絡,存儲,或者其他來自其他container或主機的子系統。
container是由它所屬的image和用戶個人配置所定義,因此當一個container被移除,任何對該狀態作的改變會消失,因為沒有保存在存儲中。
container可以在本地機器、虛擬機上運行,也可以部署到云端;是可移植的。
container使用隔離的文件系統,彼此隔離并運行自己的軟件、二進制文件和配置。
通過倉庫分享image
通過網絡倉庫的方式分享已創建的Docker images,需要使用到Docker registry。默認的registry是Docker Hub。
如果已經有可以跳過。創建鏈接:創建Docker Hub賬號
經過郵箱驗證后得到界面:
點擊第一步頁面中“Create a Repository”,創建一個倉庫。根據存儲庫名字要求創建一個存儲庫即可。
通過打包本地image分享
總結
以上是生活随笔為你收集整理的「Docker」Docker教程+学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘缓存怎么看 如何查看U盘缓存?
- 下一篇: 惠普笔怎么u盘启动项 惠普笔记本如何设置