Docker筆記part1

What is Docker?

  • 一個可隔離資料跟程式的工具。
  • 可以想像成一個巨大的櫃子分成若干個置物櫃。
  • 在OS上乘載 Docker Engine,在其上面運行容器。
  • Docker會完全隔離容器,底層Linux系統的外殼部分無法接收容器中的程式命令。
  • Docker Container 也可連接時替主機磁碟來讀寫資料

image

限制

  • 實體主機需要Linux系統功能
  • 容器中的程式需為Linux版的程式

伺服器可分為兩類

  • 功能伺服器: 提供特定功能的伺服器 ex: mail server, http server。
  • 實體伺服器: 就是電腦。
  • 實體伺服器內可能包含一或多於一個功能伺服器。

Dcker vs VirtualBox&&VMWare

  • VB和VM都是透過虛擬化技術去模擬OS與電腦。
  • Docker上的OS只是類作業系統,會將部分功能交給實際的OS去處理,減少佔據的資源。
  • 此外Docker可以無視實體環境的差異、伺服器的結構差異。

Docker Hub

  • 官方提供的Docker Registy,每個人都可以輕鬆利用

image

Docker的生命週期

  • 一般來說我們會在docker engine底下執行多個container,不可能一一更新眾多的容器,通常都會直接建立一個新的容器。

    Containner LifeCycle

  • Create —> activate —> deactivate —> abandon = LifeCycle

Dokcer優缺點

特色

  • 可隔離容器
  • 向全員提供一致開發環境
  • 方便測試新版本
  • 容易建置多個相同伺服器

優點

  • 一台主機可乘載多個伺服器(可相同也可不同)
  • 容易管理伺服器
  • 非伺服器專家也容易操作

缺點

  • 對主機依賴性高
  • 長期使用單一容器無法展現優勢,反而多餘