說明:該篇博客是博主一字一碼編寫的,實屬不易,請尊重原創,謝謝大家!
文章目錄
一、Docker介紹
1.什麼是docker?
前言
Docker和kubernetes(k8s)都是目前主流的Container(容器)技術,在中國異常火爆,搜索熱度世界排名第一。
簡介
先看下百度百科上的的介紹:Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的Linux機器或Windows 機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何接口。
博主自己的理解
Docker的思想三大素:
①集裝箱
②標準化: ①運輸方式、②存儲方式、 ③API接口
③應用隔離
舉個例子:將各式各樣的貨物裝在一艘大船上,如果沒有集裝箱,那麼就隨便擺放沒有標準,可以將貨物規整的擺放起來但是貨物之間沒有任何隔離,這種情況就會導致貨物之間相互影響,就比如蔬菜和一些農藥放到了一起,這樣就一條船就無法實現,如果使用集裝箱將各式各樣的貨物進行標準化,那麼貨物之間就不會相互影響,就可以用這艘大船進行運輸,否則就需要準備多條船來進行分類運輸了
2.docker能幹什麼
①簡化配置
②整合服務器
③代碼流水線管理
④調式能力
⑤提高開發效率
⑥多租戶
⑦隔離應用
⑧快速部署
3.虛擬化技術
1.特點
2.優點
資源池——一個物理機的資源分配到了不同的虛擬機
很容易擴展——加物理機器或者加虛擬機
很容易雲化——亞馬遜AWS,阿里雲等
3.侷限性
一個虛擬機都是一個完整的操作系統,要給其分配資源,當虛擬機數量增多時,操作系統本身消耗的資源勢必增多
4.容器技術
1.什麼是容器?
- 對軟件和其依賴的標準化打包
- 應用之間相互隔離
- 共享同一個OS Kernel(核心系統)
- 可以運行在很多主流操作系統上
2.容器技術
docker是容器技術的一個典型代表,那麼什麼是容器技術?首先看看如下這張虛擬化技術與容器技術的對比圖可以發現兩者之間的區別
虛擬化技術:通過創建虛擬機的方式讓不同的應用運行在不同的虛擬機中從而實現App應用的隔離
容器技術:比虛擬化技術更方便,更小巧,不需要虛擬化(Hypervisor)層以及虛擬操作系統層(Guest OS),直接在本地操作系統層上實現App應用隔離
5.拓展知識
1.容器時代的"雙城記"
docker和kubernetes(k8s:k和s之間有8個字母)
2.DevOps(Developer+Operator)
DevOps(開發運維一體化) = 文化 + 過程 + 工具(docker+k8s)
- 信任和尊敬、敏捷的目標、開發的溝通
- 發佈計劃、持續集成、持續發佈、持續測試、持續監控、持續改進
- 版本管理、自動化、部署監控
二、安裝Docker
說明: 博主使用win7 64位系統來演示安裝桌面docker,因爲該版本容易出錯,如win10如果按照官網的詳細說明配置後,是沒有問題的
目前docker分爲community-edition(docker-ce社區版本:免費)和enterprise-edition(docker-ee企業版:收費)
1.下載docker
- 首先進入docker官網查看windows安裝docker的文檔,如下圖所示,大概意思就是當前版本支持的操作系統以及對操作系統的要求需要Windows 10 64位以及一些系統的性能的要求,看不懂的可以翻譯頁面,特別是綠色框的爲必看,win10安裝桌面docker需要開啓Hyper-V和Containers Windows功能以及必須在BIOS設置中啓用BIOS級硬件虛擬化支持
- 當前頁面往下點擊 Docker Hub獲取Windows的Docker桌面安裝程序
- 到docker hub頁面,可以看到右上方的官方說明,win10以下的操作系統安裝 Docker Toolbox,而win10的安裝Docker for Windows即可
- 在如上頁面,往下翻可以發現下載Docker for Windows出現兩個程序版本,一個是每季度更新的穩定版,另一個是每月更新的新鮮版,一般下載穩定版
- 在docker官網下載特別慢,根本不慌,進入阿里雲容器鏡像服務,沒有找到的朋友可以進行搜索《容器鏡像服務》,之所以讓大家進入阿里雲容器鏡像服務是因爲這裏有提供國內docker的下載程序,下載速度很快並且還提供鏡像加速器以及windows版本安裝桌面docker的注意事項和說明
- 點擊對應系統的下載地址,下載即可,博主這裏下載的是DockerToolbox-18.03.0-ce的docker-toolbox(博主建議win7的朋友下載此版本,因爲這個版本比較不錯)
2.安裝docker
- 下載好安裝程序後,雙擊運行,傻瓜式安裝,到如下界面,根據個人需求選擇安裝的東西,因爲博主git以及vbox早已經安裝過,所以就不選擇了
- 全部默認下一步安裝即可,安裝完成如下
- 切換到本機桌面,會出現如下三個程序快捷方式
- 之所以安裝docker桌面程序,需要安裝git的原因是,需要使用git\bin目錄下的bash.exe程序運行Docker Toolbox安裝目錄下的sh腳本(linux下的shell腳本命令),右擊Docker Quickstart Terminal終端可以看得出,需要注意的是git的安裝路徑以及Docker Toolbox的安裝路徑要與自己本機的一致,不然打開Docker Quickstart Terminal終端會報錯
- 打開cmd,運行docker --version查看docker版本
- 運行docker version命令查看客戶端與服務器(docker 引擎)版本成功
3.配置docker緩存路徑
- 切換到桌面,鼠標空白處右擊Git Bash Here打開git終端,輸入如下命令在~目錄創建.bash_profile文件,文件內容爲指定docker緩存的路徑爲其他盤,如果不指定的情況下會在C:\Users\Administrator.docker目錄存放你創建虛擬機文件以及緩存文件
cd ~
echo "export MACHINE_STORAGE_PATH='E:\soft\docker'" > .bash_profile
- 緊接着在切換到E盤,創建soft\docker\cache多級目錄
cd e:
mkdir -p soft/docker/cache
- 下載最新版的boot2docker.iso v19.03.5,博主已爲大家上傳到百度網盤,點擊這裏下載即可,提取碼:rky6,將下載好的boot2docker.iso文件拷貝到緩存目錄(是以上創建的cache目錄下),這樣做的目的是在創建虛擬機時不會從github上去下載最新的boot2docker.iso文件,畢竟github不穩定且速度特慢
4.使用阿里雲鏡像加速器創建虛擬機
- 緊接着使用阿里雲的加速器創建一個名爲default的虛擬機,如果不使用加速器直接去掉–engine-registry-mirror=https://xxxxx.mirror.aliyuncs.com即可
- 複製以上紅框中的命令,到git上運行即創建一臺安裝有Docker環境的Linux虛擬機,指定機器名稱爲default,同時配置Docker加速器地址,創建成功並運行虛擬機
- 根據以上創建虛擬機日誌,可以到E:\soft\docker\machines目錄查看創建的虛擬機
5.驗證虛擬機創建成功
- 打開Oracle VM VirtualBox,可以看到名爲default的虛擬機顯示正在運行,三星手機爲博主之前app測試創建的
- 打開Docker Quickstart Terminal終端,提示如下錯誤,大概意思就是在最後一步(完成)的時候出錯了
- 解決方法是,編輯Docker Toolbox安裝目錄下的start.sh文件,查找Finalize關鍵字,將其下一行代碼註釋掉即可,也就是註釋掉84行的clear命令
- 保存後,重新打開Docker Quickstart Terminal終端,顯示成功
- 使用docker-machine命令遠程進入虛擬機
- 回到git上遠程default虛擬機
- 查看虛擬機列表
6.點綴
-
後續博主會實操演示在linux系統中安裝docker,畢竟博主覺得linux畢竟是原生的,而windows是衍生的
-
還有就是win10的上安裝docker,按照官網的系統要求以下兩點就不會有問題的
1、win10 64位 專業版,企業版或教育版(內部版本15063或更高版本)
2、必須啓用Hyper-V和Containers Windows功能
①具有二級地址轉換(SLAT)的 64位處理器
②4GB系統內存
③必須在BIOS設置中啓用BIOS級硬件虛擬化支持