跳轉到內容

Docker 簡介與安裝

Docker 技術簡介

Docker 如日中天,這不是單純的炒的概念,Docker 的確解決了開發和運費的痛點,比如版本的搬遷,從測試環境搬遷到預發、生產環境,在企業開發與測試中,得到了非常廣泛的應用。

  • Docker 是一個開放源碼的軟件項目,基於 GO 語言
  • Docker 可以讓開發打包他們的應用以及依賴包到一個輕量級、可移植的容器中
  • Docker 打包好容器,可以發佈到任何流行的 Linux 機器上,也可以實現虛擬化
  • 容器是完全使用沙箱機制,互相之間不會有任何接口
  • Docker 容器性能開銷極低,這個才是關鍵
  • Docker 使用客戶端-服務器(C/S)架構模式,使用遠程 API 來管理和創建 Docker 容器

Docker 的應用場景

  1. Web 應用自動化打包和發佈
  2. 自動化測試和持續集成、發佈
  3. 在服務器環境中部署和調整數據庫或其他的後臺應用
  4. 使用 Docker 可以實現開發環境、測試環境、生成環境的一致性

Docker 借鑑了標準的集裝箱的概念。標準的集裝箱將貨物運往世界各地,Docker 將這個模型運行到自己的設計中。唯一不同的是: 集裝箱是運輸貨物,Docker 是運輸軟件。

Docker 和傳統的 VM 的區別

docker 與傳統的 VM 對比:

  1. 啟動速度:vm 一般幾十秒或者幾分鐘,docker 幾秒或者毫秒
  2. 大小:vm 一般幾 G,docker 只有幾兆

Docker 的組成

Docker 需要分為三部分: 倉庫鏡像 容器

Docker 鏡像Docker 鏡像是用於創建 Docker 容器的模板。鏡像是基於聯合文件系統的一種層式結構,由一系列指令一步一步構建出來。
Docker 容器容器是獨立運行的一個或多個應用。鏡像相當於類,容易相當於類的實例
Docker 客戶端Docker 客戶端通過命令行或者其他工具使用 Docker API 與 Docker 的守護進程通信
Docker 主機一個物理或者虛擬的機器用於執行 Docker 守護進程和容器
Docker 守護進程是 Docker 服務器端進程,負責支撐 Docker 容器的運行以及鏡像的管理
Docker 倉庫Docker 倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫。Docker Hub 提供了龐大的鏡像集合供使用,用戶也可以將自己本地的鏡像推送到 Docker 倉庫供其他人下載

一鍵安裝 Docker

sh
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

啟動 Docker

sh
sudo systemctl enable docker
sudo systemctl start docker

卸載 Docker

sh
sudo apt remove docker docker-engine docker.io containerd runc

最後更新於: