是時候Docker: 1 Docker導學

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

目錄

Docker 是什麼?

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

Docker 將應用程序與該程序的依賴,打包在一個文件裏面。運行這個文件,就會生成一個虛擬容器。程序在這個虛擬容器裏運行,就好像在真實的物理機上運行同樣。有了 Docker,就不用擔憂環境問題。docker

整體來講,Docker 的接口至關簡單,用戶能夠方便地建立和使用容器,把本身的應用放入容器。容器還能夠進行版本管理、複製、分享、修改,就像管理普通的代碼同樣。shell

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
複製代碼

更多內容下回分解

原創不易,若是你以爲個人文章對你有幫助,請點贊鼓勵

相關文章
相關標籤/搜索