還在使用虛擬機?30分鐘教你快速入門Docker

2021-03-01    分類: 網(wǎng)站建設

一、歡迎來到 Docker 世界

1. Docker 與虛擬化

在沒有 Docker 的時代,我們會使用硬件虛擬化(虛擬機)以提供隔離。這里,虛擬機通過在操作系統(tǒng)上建立了一個中間虛擬軟件層 Hypervisor ,并利用物理機器的資源虛擬出多個虛擬硬件環(huán)境來共享宿主機的資源,其中的應用運行在虛擬機內核上。但是,虛擬機對硬件的利用率存在瓶頸,因為虛擬機很難根據(jù)當前業(yè)務量動態(tài)調整其占用的硬件資源,因此容器化技術得以流行。其中,Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上。



Docker 容器不使用硬件虛擬化,它的守護進程是宿主機上的一個進程,換句話說,應用直接運行在宿主機內核上。因為容器中運行的程序和計算機的操作系統(tǒng)之間沒有額外的中間層,沒有資源被冗余軟件的運行或虛擬硬件的模擬而浪費掉。

Docker 的優(yōu)勢不僅如此,我們來比較一番。

特性Docker虛擬機啟動速度秒級分鐘級交付/部署開發(fā)、測試、生產環(huán)境一致無成熟體系性能近似物理機性能損耗大體量極小(MB)較大(GB)遷移/擴展跨平臺,可復制較為復雜

2. 鏡像、容器和倉庫

Docker 由鏡像(Image)、容器(Container)、倉庫(Repository) 三部分組成。

Docker 的鏡像可以簡單的類比為電腦裝系統(tǒng)用的系統(tǒng)盤,包括操作系統(tǒng),以及必要的軟件。例如,一個鏡像可以包含一個完整的 centos 操作系統(tǒng)環(huán)境,并安裝了 Nginx 和 Tomcat 服務器。注意的是,鏡像是只讀的。這一點也很好理解,就像我們刻錄的系統(tǒng)盤其實也是可讀的。我們可以使用 docker images 來查看本地鏡像列表。

Docker 的容器可以簡單理解為提供了系統(tǒng)硬件環(huán)境,它是真正跑項目程序、消耗機器資源、提供服務的東西。例如,我們可以暫時把容器看作一個 Linux 的電腦,它可以直接運行。那么,容器是基于鏡像啟動的,并且每個容器都是相互隔離的。注意的是,容器在啟動的時候基于鏡像創(chuàng)建一層可寫層作為最上層。我們可以使用 docker ps-a 查看本地運行過的容器。

Docker 的倉庫用于存放鏡像。這一點,和 Git 非常類似。我們可以從中心倉庫下載鏡像,也可以從自建倉庫下載。同時,我們可以把制作好的鏡像 commit 到本地,然后 push 到遠程倉庫。倉庫分為公開倉庫和私有倉庫,大的公開倉庫是官方倉庫 Dock Hub,國內的公開倉庫也有很多選擇,例如阿里云等。


圖片來源互聯(lián)網(wǎng)

3. Docker 促使開發(fā)流程變更

筆者認為,Docker 對開發(fā)流程的影響在于使環(huán)境標準化。例如,原來我們存在三個環(huán)境:開發(fā)(日常)環(huán)境、測試環(huán)境、生產環(huán)境。這里,我們對于每個環(huán)境都需要部署相同的軟件、腳本和運行程序,如圖所示。事實上,對于啟動腳本內容都是一致的,但是沒有統(tǒng)一維護,經常會出問題。此外,對于運行程序而言,如果所依賴的底層運行環(huán)境不一致,也會造成困擾和異常。


現(xiàn)在,我們通過引入 Docker 之后,我們只需要維護一個 Docker 鏡像。換句話說,多套環(huán)境,一個鏡像,實現(xiàn)系統(tǒng)級別的一次構建到處運行。此時,我們把運行腳本標準化了,把底層軟件鏡像化了,然后對于相同的將要部署的程序實行標準化部署。因此,Docker 為我們提供了一個標準化的運維模式,并固化運維步驟和流程。


通過這個流程的改進,我們更容易實現(xiàn) DevOps 的目標,因為我們的鏡像生成后可以跑在任何系統(tǒng),并快速部署。此外,使用 Docker 的很大動力是基于 Docker 實現(xiàn)彈性調度,以更充分地利用機器資源,節(jié)省成本。

哈哈,筆者在使用 Docker 過程中,還發(fā)現(xiàn)了一些很棒的收益點,例如我們發(fā)布回滾的時候只需要切換 TAG 并重啟即可。還比如,我們對環(huán)境升級,也只需要升級基礎鏡像,那么新構建的應用鏡像,自動會引用新的版本。(歡迎補充~~~)

二、從搭建 Web 服務器開始說起

1. 環(huán)境先行,安裝 Docker

現(xiàn)在,我們需要安裝以下步驟安裝 Docker。

  • 注冊帳號:在 https://hub.docker.com/ 注冊賬號。
  • 下載安裝

官方下載地址:(Mac):https://download.docker.com/mac/stable/Docker.dmg

阿里云下載地址(Mac):> http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/>

阿里云下載地址(Windows):> http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/

這里,雙擊剛剛下載的 Doker.dmg 安裝包進行安裝。


安裝完成后啟動, Mac 頂部導航欄出現(xiàn)了一個圖標,通過菜單可以進行 docker 配置和退出等操作。


官方指南:https://docs.docker.com/install/

阿里云指南(Linux):https://yq.aliyun.com/articles/110806?spm=5176.8351553.0.0.468b1991jdT95t

  • 設置加速服務

市面上有很多加速服務的提供商,如:DaoCloud,阿里云等。這里,筆者使用的是阿里云。(注意的是,筆者操作系統(tǒng)是 Mac,其他操作系列參見阿里云操作文檔)


右鍵點擊桌面頂欄的 docker 圖標,選擇 Preferences ,在 Daemon 標簽(Docker 17.03 之前版本為 Advanced 標簽)下的 Registry mirrors 列表中將

https://xxx.mirror.aliyuncs.com 加到"registry-mirrors"的數(shù)組里,點擊 Apply & Restart 按鈕,等待 Docker 重啟并應用配置的鏡像加速器。

網(wǎng)站名稱:還在使用虛擬機?30分鐘教你快速入門Docker
網(wǎng)頁鏈接:http://m.kartarina.com/news/103573.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航網(wǎng)站制作網(wǎng)站改版網(wǎng)站排名動態(tài)網(wǎng)站網(wǎng)站內鏈

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設
主站蜘蛛池模板: 久久久国产精品无码一区二区三区 | 无码熟妇人妻av| 无码人妻一区二区三区av| 野花在线无码视频在线播放| 亚洲精品无码MV在线观看| 自拍偷在线精品自拍偷无码专区| 黑人巨大无码中文字幕无码| 在线无码午夜福利高潮视频| 亚洲Av永久无码精品三区在线 | 亚洲精品无码Av人在线观看国产 | 亚洲aⅴ无码专区在线观看| 无码日韩人妻AV一区二区三区| 丰满少妇人妻无码| 无码乱码av天堂一区二区| 中文字幕AV中文字无码亚| 无码中文人妻在线一区二区三区| 日韩精品无码一区二区三区AV | 色AV永久无码影院AV| V一区无码内射国产| 亚洲性无码一区二区三区| 亚洲AV无码1区2区久久| 精品无码黑人又粗又大又长| 亚洲AV成人无码天堂| 亚洲av中文无码乱人伦在线r▽| 成人无码一区二区三区| 色国产色无码色欧美色在线| 无码区日韩特区永久免费系列| 亚洲AV无码久久精品成人| H无码精品3D动漫在线观看| 一本大道无码人妻精品专区 | 国产在线拍揄自揄拍无码| 久久亚洲精品无码网站| 亚洲av永久中文无码精品 | 中文字幕人妻无码一夲道| 亚洲精品一级无码中文字幕| 午夜亚洲av永久无码精品| 丰满亚洲大尺度无码无码专线 | 白嫩无码人妻丰满熟妇啪啪区百度| 一本大道无码av天堂| 无码福利写真片视频在线播放| 久久久久久久人妻无码中文字幕爆|