Docker簡介
一、前置知識和課程定位
-
前置知識
1.1 強制
熟悉linux命令和相關背景知識
1.2 建議
Maven和Git相關的知識
Git倉庫、Git命令
-
課程時間
1.5 天
-
課程定位和範圍(立足於我們的JavaEE方向)
3.1 參考招聘網方向(java開發和docker開發)
- JavaEE java SpringMVC/springboot/mybatis……
- Docker Go docker開發運維方向
3.2 視頻發佈風格
- Docker基礎篇(快速上手)
- Docker 高級篇
二、Docker 是什麼
-
爲什麼會有Docker出現
解決開發和運維之間的相愛相殺,簡單說就是之前搬家式交付代碼改爲現在搬樓式交付
-
Docker理念
Docker是基於Go語言開發的
Build,Ship and Run Any App,Anywhere
只需要一次配置好環境,換到別的機子上就可以一鍵部署好,大大簡化了操作。
-
Docker是什麼
解決了運行環境和配置問題軟件容器,方便做持續集成並有助於整體發佈的容器虛擬化技術。
三、Docker能幹什麼
-
之前的虛擬機技術
虛擬機技術:
可以在一種操作系統中運行另一種操作系統。而對於底層系統來說,虛擬機就是一個普通的文件。
這類虛擬機完美的運行了另一套系統,能夠使應用程序,操作系統,和硬件三者之間的邏輯不變。缺點:
(1)資源佔用多; (2)冗餘步驟多 (3)啓動慢
-
容器虛擬化技術
由於之前的虛擬機存在的諸多缺點,Linux發展出了另一種虛擬化的技術:Linux容器技術
Linux容器不是模擬一個完整的操作系統,而是對進程進行了隔離。
有了容器,就可以將軟件運行所需要的所有資源打包到一個隔離的容器中。
容器與虛擬機不同,不需要捆綁一整套操作系統,只需要軟件工作所需的庫資源和設置。
因此,系統高效,輕量。
Docker和傳統虛擬機比較:
- 傳統的虛擬機技術,是虛擬出一套硬件,在其上運行一個完整的操作系統,在該系統上運行所需的應用進程
- 容器內的應用進程直接運行在宿主機的內核中,容器沒有自己的內核,而且也沒有對硬件進行虛擬
- 每個容器之間互相隔離,每個容器有自己的文件系統,容器之間進程不會互相影響,能區分計算資源
Docker實質是一個濃縮的linux系統
-
開發/運維(DevOps)
開發自運維
一次構建,隨處運行
更快速的應用交付和部署 更便捷的擴容縮容 更簡單的系統運維 更高效的計算資源利用
四、去哪兒下
凡技術,必官網
-
官網
Docker官網:
Docker中文網站:https://www.docker-cn.com/
-
倉庫
Docker的三要素:鏡像、容器、倉庫
Dockerhub :倉庫https://hub.docker.com/