1. 程式人生 > 程式設計 >是時候Docker: 1 Docker導學

是時候Docker: 1 Docker導學

表達從簡單開始,而這是一個系列的開篇

目錄

Docker 是什麼?

Docker 屬於 Linux 容器的一種封裝,提供簡單易用的容器使用介面。它是目前最流行的 Linux 容器解決方案。

Docker 將應用程式與該程式的依賴,打包在一個檔案裡面。執行這個檔案,就會生成一個虛擬容器。程式在這個虛擬容器裡執行,就好像在真實的物理機上執行一樣。有了 Docker,就不用擔心環境問題。

總體來說,Docker 的介面相當簡單,使用者可以方便地建立和使用容器,把自己的應用放入容器。容器還可以進行版本管理、複製、分享、修改,就像管理普通的程式碼一樣。

docker 架構

理解上圖有助於我們理解命令的執行。

  • host是執行docker命令的陣列機。daemon核心程式負責各種操作(下載docker映象、執行容器)
  • 我們通過client命令與daemon進行互動,由daemon進行後續的操作
  • registry所有docker玩家共享docker映象的服務,daemen可以往registry推/拉映象

Docker 的用途

  • 簡化配置
  • 整合伺服器
  • 程式碼流水線管理
  • 提高開發效率
  • 隔離應用
  • 除錯能力
  • 多租戶
  • 快速部署

Docker 的優點

  • 簡化程式:

Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數週的 任務,在Docker容器的處理下,只需要數秒就能完成。

  • 避免選擇恐懼症:

如果你有選擇恐懼症,還是資深患者。那麼你可以使用 Docker 打包你的糾結!比如 Docker 映象;Docker 映象中包含了執行環境和配置,所以 Docker 可以簡化部署多種應用例項工作。比如 Web 應用、後臺應用、資料庫應用、大資料應用比如 Hadoop 叢集、訊息佇列等等都可以打包成一個映象部署。

  • 節省開支:

一方面,雲端計算時代到來,使開發者不必為了追求效果而配置高額的硬體,Docker 改變了高效能必然高價格的思維定勢。Docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬體管理的問題,也改變了虛擬化的方式。

接下來

接下來將基於Docker Engine - Community 19.03.2進行實踐

Client: Docker Engine - Community
 Version:           19.03.2
 API version:       1.40
 Go version:        go1.12.8
 Git commit:        6a30dfc
 Built:             Thu Aug 29 05:26:49 2019
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.2
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.8
  Git commit:       6a30dfc
  Built:            Thu Aug 29 05:32:21 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
複製程式碼

更多內容下回分解

原創不易,如果你覺得我的文章對你有幫助,請點贊鼓勵