iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 25
1
Cloud Native

從零開始建立自動化發佈的流水線系列 第 25

25. Docker - 介紹

Eric: 在使用 Docker 之前,先來聊聊 Docker 的背景與變化。

吉米: 嗯嗯,不過,怎麼不直接進入主題呢?

Eric: Docker 的出現到現在,歷經不少的變化。先了解一下,也沒有差,哈哈哈哈。

吉米: 也是。


01. Docker 簡介

Docker 是 dotCloud 公司,在 2013 年推出的開源專案。同年,dotCloud 公司也更名為 Docker 公司。

Docker 在滙集眾多開發者的貢獻,與 Linux CoreOS 的大力支持下,很快的將 Docker 技術推展開來。

但是 2017 年 4 月,Docker 公司將原本開源的 Docker 專案名稱更改為 Moby。並將過去集合眾多開發者心血的 Docker,明確的區分為 企業版 ( Docker Enterprice Edition, Docker EE)社群版 (Dockert Community Edition, Docker CE)

另一方面,Docker 為了支援不同平台,所以針對各同平台,開發各自的 Container Deamon 。但這種作法,會導制支援平臺越多,維護的版本就越多的情況。

補充一下,Container Deamon 在 Docker 技術中,被稱為 Docker Engineer 。

所以 Docker 併購了 Unikernel Systems 這個團隊,掌握了自行設計 Hypervisor 和 Unikernel 作業系統的技術。最終,產出 LinuxKit 這個 Linix 子系統。

在 LinuxKit 的支援下,達成 Docker Engineer 的統一化。這讓 Docker 走出 Linux 環境的限制,讓 Docker 可以在更多平台上活躍。

2. Docker Image

docker-layers

在 docker 之中,利用 docker image 的資訊,去建立 container。所以,一個 docker image 可以重覆創建 Container。

docker image ,是 docker 利用 dockerfile 指令所建制。每一條 dockerfile 指令,代表一個 唯讀層 (Read-only layer)

每一個層都會堆畳的方式加入 docker image 之中,而且每層的內容,必為前面的增量。

3. Docker Container

當運行 image 後,所產生的個體,稱為 Container。而 Container 運行用的空間,也是這時候才配罝的。

Docker Container 包括 Docker Image執行環境標準指令集 這三個項目。

4. Docker Hub

但,docker image ,每次都自己建立,豈不是重複做工嗎?

Docker 提供一個名為 Docker Hub 的 Remote Repositories ,讓所有 Docker 的使用者可能下載現成的 image。同時,也提供使用者可以將自己建立的 image 上傳。

使用者只要註冊 docker 的免費帳戶後,就能從 Docker Hub 下載 Image。同時,免費帳戶也可以將自己建立的 image 上傳到 Public Repositories。

如果使用者不想 image 被其他使用者下載,必需升級為付費帳戶,才能使用 Private Repositories。

5. Docker Compose

當 Container 越來越多時,利用 Docker compose ,就可以方便的管理許多 Container。

利用 docker-compose.yml 這個檔案,就可以依不同的需求,個別定義與管理所有 Container 的設定。


Eric: 現在對 Docker 相關的名詞有比較清楚的認識後,接下來,就是實際操作了。

吉米: 哈哈!那就來吧。

<< 待續 >>


延伸閱讀

  1. Docker Documentatin
  2. 【從Docker到Moby】Docker如何將容器平臺變成一門好生意?
  3. 【Docker通吃全平臺秘密武器】容器專屬超迷你OS包LinuxKit登場

上一篇
24. 部署新境界 - 使用 Container 簡化流程
下一篇
26. Docker - 基本操作
系列文
從零開始建立自動化發佈的流水線30

尚未有邦友留言

立即登入留言