Docker 學習
- Docker概述
- Docker安裝
- Docker命令
- 映象命令
- 容器命令
- 操作命令
- 。。。
- Docker映象!
- 容器資料卷!
- DockerFile
- Docker網路原理
- IDEA整合Docker
- Docker Compose
- Docker Swarm 簡化的k8s
- CI\CD Jenkins
Docker 概述
產品:開發—上線 兩套環境!應用環境,應用配置!
環境配置麻煩,每個機器都要部署環境(叢集Redis,ES,Hadoop)費時費力
釋出一個專案(jar+(Redis MySQL jdk ES)),專案能不能帶上環境安裝打包!
之前在伺服器配置應用環境Redis MySQL jdk ES Hadoop,配置麻煩,不能跨平臺。
Windows,最後到Linux!
傳統:開發jar,運維來做!
現在:開發打包部署上線,一套流程做完!
Java — apk — 釋出(應用商店)— 下載使用 — 安裝即可用
Java — jar(環境)—打包專案帶上環境(映象)—(Docker倉庫:商店)— 下載我們釋出的映象 — 直接執行即可!
Docker給上面的問題,提出瞭解決方案!
Docker的思想來自集裝箱!
JRE – 多個應用(埠衝突)– 原來都是交叉的
隔離:Docker核心思想!打包裝箱!每個箱子是互相隔離
Docker通過隔離機制,可以將伺服器利用到極致!
Docker 歷史
2012年,幾個年輕人在美國成立了一家公司dotCloud
做一些pass的雲端計算服務! LXC有關的容器技術
他們將自己的技術,容器化技術,命令就是Docker
Docker剛剛誕生的時候沒有引起行業的注意!開源
2013年,Docker開源!
越來越多的人發現Docker的有點,Docker每個月更新一個版本
2014年,Docker1.0釋出
Docker為什麼火?十分輕巧
在容器技術之前,都是虛擬機器技術
虛擬機器:在通過虛擬軟體,虛擬出來一臺或者多臺電腦!笨重!
虛擬機器也是虛擬化技術,Docker容器技術,也是一種虛擬化技術!
vm:linux centos映象(一個電腦) 隔離,需要開啟多個虛擬機器 幾個G 幾分鐘
docker,隔離,映象(最核心的環境 4M+jdk+mysql)十分輕巧,執行映象就可以 幾個M kb 秒級
到現在,所有開發人員都要會docker
Docker是基於Go語言開發的!開源!
官網:www.docker.com/
文件地址:docs.docker.com/
Docker文件超級詳細!
倉庫地址:hub.docker.com/git push/pull
Docker 能做什麼
之前的虛擬機器技術
缺點:
- 資源佔用十分多
- 冗餘步驟多
- 啟動慢
容器化技術
容器化技術並不是模擬一個完整的作業系統
比較Docker和虛擬機器技術的不同:
- 傳統的虛擬機器,虛擬出一條硬體,執行一個完整的作業系統,然後在這個系統上安裝和執行軟體。
- 容器內的應用直接執行在宿主機的核心,容器自己是沒有自己的核心,也沒有虛擬硬體
- 每個容器間是互相隔離,每個容器內都有一個屬於自己的檔案系統,互不影響。
DevOps(開發運維)
更快速的交付和部署
傳統:一堆幫助文件,安裝程式
Docker:打包映象釋出測試,一鍵執行
更便捷的升級和擴容
使用了Docker之後,我們部署應用,就和搭積木一樣!
更簡單的系統運維
在容器化之後,我們開發,測試幻都是高度一致
更高效的計算資源利用
Docker是核心級別的虛擬化,可以在一個物理機上執行很多容器例項,伺服器的效能可以被壓榨到極致!
本作品採用《CC 協議》,轉載必須註明作者和本文連結