工具與資源中心
幫助開發者更加高效的工作,提供圍繞開發者全生命週期的工具與資源
developer.aliyun.com/tool?spm=a1z3...
Docker 是一個開源的應用容器引擎,基於Go語言並遵循Apacher 2.0 協議開源
Docker 引擎,是一個包含以下主要元件的客戶端服務程式(Docker 引擎的流程圖)
是一種伺服器,它是一個被稱為守護程式並且長時間執行的程式,Rest api 用於指定程式可以用來與守護程式進行通訊的介面,並指示它可以做什麼,一個命令列的介面(cli) 工具的客戶端。
Docker 的功能特點:
輕鬆快捷的配置:
這是Docker 的一個主要的功能,可以幫助我們輕鬆快捷的配置系統,可以在更少的時間和精力下部署程式碼,由於Docker 可以在各種個樣的環境中使用,基礎架構不再要求與用用程式的環境相關聯
提高工作效率:
通過放寬技術配置和應用的快速部署,毫無疑問,它節約了時間提高了生產率,Docker 不僅有助於在孤立的環境中執行應用程式(每一個應用是一個單獨的環境,每個環境都有一份獨立的OS 系統),而且還減少資源
應用隔離:
Docker 提供用於在隔離環境中執行應用程式的容器,每個容器都獨立於另一個容器,並允許任何型別的應用程式(因為,每個容器的底層都有一個單獨的os 機制)
雲呼叫
它是Docker 容器的叢集和排程的工具,Swarm 使用Docker api 作為其 前端,這有助於我們使用何種工具來控制它,它還可以將Docker 主機 叢集 控制一個虛擬主機,這是一個用於啟用可拔插後端的自組織引擎組,使用Swarm 來進行管理叢集
路有網
他可以用於節點上已釋出端傳入請求路由到活動容器,即使節點上沒有任務正在執行此功能也可以實現連結(容器與容器之間通訊的路有網)
服務
服務值允許執行叢集內容器狀態的任務列表,每個任務表示一個應該執行的容器的例項,並且Swarm在節點之間的排程
安全管理
他允許將保密的資料儲存到雲群(Swarm)中,然後選擇給與服務訪問某些保密資料,它包含一些重要的命令給引擎,如保密的資料,保密資料的建立等
Docker 是cs模式(客戶端 — 伺服器端) 使用遠端的api 來管理和建立Docker 容器
Docker 容器通過Docker 映象來進行建立
容器和映象的關係類似於 物件導向程式設計中的類與物件
先有映象才有容器,我們在使用容器端通過api 操作的是容器
首先使用Docker pull 去呼叫 Docker daemon ,如果此時本地倉庫中有映象,則可以直接建立容器,並且可以建立多個,但是當使用Docker pull 去呼叫 Docker daemon 去本地倉庫中查詢映象不存在的時候,則會去Docker 的倉庫中拉取,並且當拉取到本地之後,使用Docker run 去進行建立容器,並且可以建立多個物件,
說一下什麼是資料卷:
資料卷就是一個可以提供一個或者多個容器使用的特殊目錄。
可以達到的目的是:繞過“拷貝寫”系統,已到達本地磁碟IO的效能,(比如執行一個容器,在容器中對資料進行修改的時候,會直接改變宿主機上的資料卷的中的內容,所以在本地磁碟io的效能,而不是先在容器中寫一份,然後再將容器中的修改的內容拷貝出來同步)
繞過“拷貝寫”系統,有些檔案不需要在 docker commit 打包進映象檔案中
在多個容器間共享目錄
在宿主機和容器間共享目錄
在宿主機和容器中共享一個檔案
資料卷的建立:
方法一:在Dockerfile 中指定 VOLUME 的目錄 如 VOLUME /var/lib/test
方法二: 在docker run 命令中加 -v docker run -d -P -v /webapp training/webapp python app.py
本文轉自:developer.aliyun.com/article/78893...
本作品採用《CC 協議》,轉載必須註明作者和本文連結