前言
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實作虛拟化。哈哈哈(H鍵都累了)寫的好像太官方了!每天要努力學習哦。Docker容器是完全使用沙箱機制,互相之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。所有大家要用起來呀!
正文
Docker 是一個用于開發,傳遞和運作應用程式的開放平台。Docker 使您能夠将應用程式與基礎架構分開,進而可以快速傳遞軟體。借助 Docker,您可以與管理應用程式相同的方式來管理基礎架構。通過利用 Docker 的方法來快速傳遞,測試和部署代碼,您可以大大減少編寫代碼和在生産環境中運作代碼之間的延遲。
Docker 使用用戶端-伺服器 (C/S) 架構模式,使用遠端API來管理和建立Docker容器。
Docker 容器通過 Docker 鏡像來建立。
容器與鏡像的關系類似于面向對象程式設計中的對象與類。
Docker | 面向對象 |
容器 | 對象 |
鏡像 |
Docker的基本概念
- 鏡像(Image):Docker 鏡像(Image),就相當于是一個 root 檔案系統。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 檔案系統。
- 容器(Container):鏡像(Image)和容器(Container)的關系,就像是面向對象程式設計中的類和執行個體一樣,鏡像是靜态的定義,容器是鏡像運作時的實體。容器可以被建立、啟動、停止、删除、暫停等。
- 倉庫(Repository):倉庫可看成一個代碼控制中心,用來儲存鏡像。
Docker的應用場景
- Web 應用的自動化打包和釋出。
- 自動化測試和持續內建、釋出。
- 在服務型環境中部署和調整資料庫或其他的背景應用。
- 從頭編譯或者擴充現有的 OpenShift 或 Cloud Foundry 平台來搭建自己的 PaaS 環境。