Docker 介紹 一

hjavn發表於2021-08-31

工具與資源中心

幫助開發者更加高效的工作,提供圍繞開發者全生命週期的工具與資源
developer.aliyun.com/tool?spm=a1z3...

Docker 是一個開源的應用容器引擎,基於Go語言並遵循Apacher 2.0 協議開源

Docker 引擎,是一個包含以下主要元件的客戶端服務程式(Docker 引擎的流程圖)
圖片.png

是一種伺服器,它是一個被稱為守護程式並且長時間執行的程式,Rest api 用於指定程式可以用來與守護程式進行通訊的介面,並指示它可以做什麼,一個命令列的介面(cli) 工具的客戶端。

Docker 的功能特點:

輕鬆快捷的配置:

這是Docker 的一個主要的功能,可以幫助我們輕鬆快捷的配置系統,可以在更少的時間和精力下部署程式碼,由於Docker 可以在各種個樣的環境中使用,基礎架構不再要求與用用程式的環境相關聯

提高工作效率:

通過放寬技術配置和應用的快速部署,毫無疑問,它節約了時間提高了生產率,Docker 不僅有助於在孤立的環境中執行應用程式(每一個應用是一個單獨的環境,每個環境都有一份獨立的OS 系統),而且還減少資源

應用隔離:

Docker 提供用於在隔離環境中執行應用程式的容器,每個容器都獨立於另一個容器,並允許任何型別的應用程式(因為,每個容器的底層都有一個單獨的os 機制)

雲呼叫

它是Docker 容器的叢集和排程的工具,Swarm 使用Docker api 作為其 前端,這有助於我們使用何種工具來控制它,它還可以將Docker 主機 叢集 控制一個虛擬主機,這是一個用於啟用可拔插後端的自組織引擎組,使用Swarm 來進行管理叢集

路有網

他可以用於節點上已釋出端傳入請求路由到活動容器,即使節點上沒有任務正在執行此功能也可以實現連結(容器與容器之間通訊的路有網)

服務

服務值允許執行叢集內容器狀態的任務列表,每個任務表示一個應該執行的容器的例項,並且Swarm在節點之間的排程

安全管理

他允許將保密的資料儲存到雲群(Swarm)中,然後選擇給與服務訪問某些保密資料,它包含一些重要的命令給引擎,如保密的資料,保密資料的建立等

Docker 是cs模式(客戶端 — 伺服器端) 使用遠端的api 來管理和建立Docker 容器

Docker 容器通過Docker 映象來進行建立

容器和映象的關係類似於 物件導向程式設計中的類與物件
圖片.png

先有映象才有容器,我們在使用容器端通過api 操作的是容器

圖片.png

首先使用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 協議》,轉載必須註明作者和本文連結

相關文章