## 什么是Docker
* Docker 是一個開源的應用容器引擎,你可以將其理解為一個輕量級的虛擬機,開發者可以打包他們的應用以及
* 依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上。
## 為什么要使用Docker
### 更高效的利用系統資源
由于容器不需要進行硬件虛擬以及運行完整操作系統等額外開銷,Docker對系統資源的利用率更高,無論是應用執行速度,內存消耗以及文件存儲速度,都要比傳統虛擬機技術更高效。因此,相比虛擬機技術,一個相同配置的主機,往往可以運行更多數量的應用。
### 更快速的啟動時間
傳統的虛擬機技術啟動應用服務往往需要數分鐘,而Docker容器應用,由于直接運行與宿主內核,無序啟動完整的操作系統,因此可以做到妙級,甚至毫秒級的啟動時間,大大的節約了開發,測試,部署的時間。
## 一致的運行環境
開發過程中一個常見的問題是環境一致性問題,由于開發環境,測試環境,生產環境不一致,導致有些bug并未在開發過程中被發現,而Docker的鏡像提供了除內核外完整的運行時環境,確保了應用運行環境一致性。從而不會再出現(這段代碼在我機器上運行沒問題啊)zz這類問題。
### 持續交付和部署
對于開發和運維人員來說,最希望的就是一次創建或配置,可以在任意地方正常運行。
使用Docker可以通過定制應用鏡像來實現持續集成,持續交付,部署。開發人員可以通過Dockerfile來進行鏡像構建,并結合持續集成系統進行集成測試,而運維人員則可以在生產環境中快速部署該鏡像,甚至結合持續部署系統進行自動部署
### 更輕松的遷移
由于Docker確保了執行環境的一致性,使得應用的遷移更加容易,Docker可以在很多平臺上運行,無論是物理機,虛擬機,公有云,私有云,甚至是比較本,其運行結果是一致的,因此用戶可以很輕易的將在一個平臺上運行的應用,遷移到另一個平臺上,而不用擔心運行環境的變化導致應用無法正常運行的情況。
### 更輕松的維護和擴展
Docker使用的分層存數以及鏡像的技術,使得應用重復部分的復用更為容易,也使得應用的維護更新更加簡單,基于基礎鏡像進一步擴展鏡像也變得非常簡單,此外,Docker團隊同各個開源項目團隊一起維護了一大批高質量的官方鏡像,既可以直接在生產環境使用,又可以作為基礎進一步定制,大大的降低了應用服務的鏡像制作成本。
## 說明
基于docker部署springcloud為主力推薦的方案,當然在服務器集群的情況下,肯定是推薦使用k8s,那么下面我們先入門一下,如何使用docker來部署。
- 序言
- 開發環境準備
- 環境要求
- 環境安裝
- 基礎環境安裝
- Nacos安裝
- Sentinel安裝
- 插件安裝
- 導入工程
- 運行工程
- 工程測試
- JPower特性
- 系統啟動器
- 多終端令牌認證
- 系統鑒權
- 鑒權API
- 鑒權配置
- API權限配置
- 接口放行配置
- 數據權限
- redis緩存
- 動態網關
- 聚合文檔
- SaaS多租戶
- 概念
- 使用
- Xss防注入
- 日志記錄
- 操作日志&錯誤日志
- SQL打印
- feign請求日志&配置
- gateway日志
- 服務日志打印
- 導入導出
- 字典查詢
- 系統文件上傳下載
- 接口監控
- 代碼生成器
- 配置文件共享
- Mybatis過濾器
- 配置說明
- 高級實戰
- nacos動態配置
- Seata分布式事務
- 簡介
- docker啟動
- 微服務配置
- 微服務遠程調用
- 聲明式服務調用 Feign
- 熔斷機制 Sentinel
- sentinel流控
- 簡介
- 微服務配置
- 配置nacos對接
- APM監控&鏈路追蹤
- 簡介
- 安裝
- 微服務接入
- SpringBootAdmin監控
- ELK分布式日志追蹤系統
- ELK簡介
- ELK一鍵部署
- 微服務日志對接ELK
- JPower-Chat
- 配置說明
- 生產部署
- docker部署
- docker安裝
- docker-compose安裝
- harbor安裝
- 部署步驟
- 版本升級
- 1.0.1升級到2.0.0
- 2.0.0升級到2.0.2
- 2.0.2升級2.1.0
- 2.1.0升級到2.1.1
- 2.1.1升級到2.1.2
- 2.1.2升級到2.1.4