淺析Docker架構、原理及實例配置演示

niki 9年前發布 | 25K 次閱讀 Docker

介紹

 

Docker是一個為開發人員和系統管理員開發、遷移和運行應用程序的平臺。應用程序通過Docker打包成Docker Image后,可以實現統一的方式來下載、啟動、擴展、刪除和遷移,這樣方便了應用程序的部署和運維。本文將介紹Docker的主要組件、系統架構和工作原理,并實例演示Docker的一些簡單操作。

 

更多信息

 

 

 

 

Docker的主要組件

 

Docker引擎:開源的虛擬化容器技術平臺。

Docker Hub:為用戶提供共享和管理Docker容器的SaaS服務平臺。

 

 

 

 

 

Docker的系統架構

 

Docker采用服務器/客戶端模式。Docker客戶端通過和Docker Daemon進行交互來新建、運行或者部署Docker容器。用戶可以將Docker客戶端和Docker Daemon安裝在同一個系統上,也可以安裝在不同的系統上。Docker客戶端通過端口或者RESTful APIDocker Daemon進行通信。

 

Untitled.png

 

Docker daemonDocker daemon運行在一臺主機上,終端用戶不能直接與Daemon進行交互,只能通過Docker客戶端與Docker Daemon進行通信。

 

Docker客戶端:終端用戶和Docker通信的主要端口。

 

 

 

 

 

Docker的內部結構

 

Docker內部由三部分組成:

 

Docker imagesDocker image是一個只讀模板,用于創建Docker容器。Image中可以包含Linux操作系統、Apache或者Web應用程序等等,用戶可以下載已經創建好的Docker image,也可以創建Docker image給其他用戶使用。

每個image是由很多層組成,Docker通過Union File Systems將這些層綁定在一個image中。每個image都以一個初級image做為基礎,然后通過操作指令在這些初級image上添加新層,操作指令可以是運行的命令、添加文件或目錄或者創建可用操作環境等。這些操作指令都被保存在Dockerfile文件中。

 

 

Docker registries Docker registries用于保存Docker image,也分公用和私用二種。公用的Docker registry就是Docker Hub,用戶也可以創建私有的Docker registry,為其他用戶提供Docker images下載。

 

Docker containers:類似于保存VMware虛擬機配置文件的目錄,它可以為應用程序運行提供一切要素。Docker Containers可以運行、啟動、停止或者被刪除,每個container都是隔離的安全應用平臺。

 

 

 

 

 

Docker操作演示

 

下面將演示Docker的一些常用操作:

 

 

1、通過命令docker version”查看當前Docker版本。

 

Untitled_1.png

 

 

2、通過命令docker search <string>”Docker Hub上搜索Docker image

 

Untitled_2.png

 

 

3、通過命令docker pull <string>”Docker Hub上下載Docker image

 

Untitled_3.png

 

 

4、通過命令docker run”運行下載image文件,命令格式如下:

 

Docker run <image名稱> <需要在image中執行的命令>

 

Untitled_4.png

 

 

5、為Docker容器安裝ping工具。

 

Untitled_5.png

 

 

6、通過命令docker ps -l”查看Docker容器ID,然后保存Docker容器配置。

 

Untitled_6.png

 

 

7、在新Docker image上運行ping命令。

 

Untitled_7.png

 

 

8、通過命令docker ps查看所有運行的容器。

 

Untitled_8.png

 

 

9、通過命令docker inspect”查看容器的具體信息。

 

Untitled_9.png

 

 

10、通過命令docker push”將新的image上傳到Docker Hub Registry

 

Untitled_10.png




 

應用于

 

 

Docker技術入門

來自:https://community.emc.com/docs/DOC-42054

 本文由用戶 niki 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!