iT邦幫忙

2022 iThome 鐵人賽

DAY 1
0
DevOps

從認識Docker到精通系列 第 1

辣個大家都在玩的大鯨魚-Docker

  • 分享至 

  • xImage
  •  

前言

前陣子參加了學校給新生網站的開發案,當時組長為了解決開發環境在各台電腦皆有些微不同的問題,使用到 Docker 作為開發環境和實際部署 CI/CD 的工具,但由於當時(現在也還是)是一個新手還不懂這隻叫做 Docker 的鯨魚是什麼,因此鐵人賽就選擇了 Docker 作為主題,一部分作為筆記記錄自己的學習歷程,一部分也逼迫自己好好把它學好 XD。

本系列文內容

本文將會著重介紹對應到 CNCF Trail Map 中容器 (Container) 在 Docker 的部分,也會稍微帶到持續交付部署 CI/CD、和 K8s(kubernetes),先簡單分成五個大單元:

  • Docker 的基本知識
  • Dockerfile、Docker-compose 檔案的編寫
  • Docker volume的使用
  • Docker 的對手 Podman
  • Docker的終極目標:Kubernetes

所以Docker你哪位


Docker,原本是 dotCloud 這間 PaaS (平台即服務)公司的內部專案,後來於 2013 年 Open Source,成為今日廣為使用的專案之一

旨在建立快速的輕量服務

Docker 為一 OS 等級虛擬化的產品,和虛擬機器 VM(Virtual Machine) 類似,但不同點在於VM是從硬體層以上就進行了虛擬化,因此包含 OS、Binarys\Library 和 app 本身有幾個服務在跑就會有幾套在跑,資源也因此會被 OS 和 App 瓜分,Image 也較大,啟動速度也較慢;Docker 則是以 Docker 環境作為作業系統,依賴 Host OS 的 Kernel 啟動以應用程式為單位的服務,好處是需要的資源較少,相應性資源也都被封裝在容器當中,因此啟動、重啟速度較快,也比較不會發生在VM中因版本不合的衝突問題。

為什麼該學Docker

  • 更快:相較 VM,啟動、重啟速度較快,對於大規模部署當然更加方便
  • 跨平台部署:只要對方平台有 Docker,應用程式便可在對方平台上部署
  • K8s

Next:Hello Docker!


下一篇
Hello Docker, 咱們來召喚鯨魚吧
系列文
從認識Docker到精通30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言