是時候Docker: 1 Docker導學
阿新 • • 發佈:2019-12-31
表達從簡單開始,而這是一個系列的開篇
目錄
- 是時候Docker: 1 Docker導學
- 是時候Docker: 2 安裝並取消sudo執行docker
- 是時候Docker: 3 Docker小例項
- 是時候Docker: 3.1 Docker19 命令速查表
- 是時候Docker: 4 Dockerfile建立映象
- 是時候Docker: 5 Volume 3種容器資料空間掛載
- 是時候Docker: 6 網路使用概述
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
複製程式碼