小編給大家分享一下從0開始了解Docker入門的方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
從策劃到設(shè)計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名注冊、網(wǎng)頁空間、網(wǎng)絡(luò)營銷、VI設(shè)計、 網(wǎng)站改版、漏洞修補等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。序
Docker 自開源以來受到了各大公司的廣泛關(guān)注,或許現(xiàn)在互聯(lián)網(wǎng)公司的運維體系不承載在 Docker(或 Pouch 等)之上都不好意思說自己的互聯(lián)網(wǎng)公司。
本文會簡單介紹下 Docker 的基礎(chǔ)概念,入門級使用方式和一些使用 Docker 能大大提升效率的場景。
原理
對 Docker 最簡單并且?guī)в幸欢ㄥe誤的認知就是 “Docker 是一種性能非常好的虛擬機”。
正如上面所說,這是有一定錯誤的說法。Docker 相比于傳統(tǒng)虛擬機的技術(shù)來說先進了不少,具體表現(xiàn)在 Docker 不是在宿主機上虛擬出一套硬件后再虛擬出一個操作系統(tǒng),而是讓 Docker 容器里面的進程直接運行在宿主機上(Docker 會做文件、網(wǎng)絡(luò)等的隔離),這樣一來 Docker 會 “體積更輕、跑的更快、同宿主機下可創(chuàng)建的個數(shù)更多”。
Docker 中有三個核心概念:Image、Container、Repository。
Image: 有領(lǐng)“好人卡”傾向的廣大程序猿一定對 鏡像 的概念不會陌生。但和 windows 的那種 iso 鏡像相比,Docker 中的鏡像是分層的,可復(fù)用的,而非簡單的一堆文件迭在一起(類似于一個壓縮包的源碼和一個 git 倉庫的區(qū)別)。
Container: 容器的存在離不開鏡像的支持,他是鏡像運行時的一個載體(類似于實例和類的關(guān)系)。依托 Docker 的虛擬化技術(shù),給容器創(chuàng)建了獨立的端口、進程、文件等“空間”,Container 就是一個與宿機隔離 “容器”。容器可宿主機之間可以進行 port、volumes、network 等的通信。
Repository: Docker 的倉庫和 git 的倉庫比較相似,擁有倉庫名、tag。在本地構(gòu)建完鏡像之后,即可通過倉庫進行鏡像的分發(fā)。常用的 Docker hub 有 https://hub.docker.com/ 、 https://cr.console.aliyun.com/ 等。
相關(guān)命令
1. 安裝
Docker 的安裝是非常便捷的,在 macOS、ubuntu 等下面都有一鍵式安裝工具或者腳本。更多可以參考 Docker 官方教程。
安裝后 Terminal 中敲下 docker,有使用說明出來的話大多情況下說明已經(jīng)安裝成功了。
2. 尋找基礎(chǔ)鏡像
DockerHub 等網(wǎng)站都提供了眾多鏡像,一般情況下我們都會從它那找個鏡像作為基礎(chǔ)鏡像,然后再進行我們的后續(xù)操作。
這里我們以 ubuntu 基礎(chǔ)鏡像為例,配置一個 node 環(huán)境。
因為 “鏈路太長” 的原因,國內(nèi)訪問 Docker Hub 可能會比較慢,可以使用國內(nèi)眾多廠商提供的鏡像加速器
3. 拉取基礎(chǔ)鏡像
利用 docker pull 命令即可從相關(guān) hub 網(wǎng)站上拉取鏡像到本地。同時在拉的過程中就能看到是按照多個 “層” 去拉鏡像的。
> docker pull ubuntu:18.04
借助 Dockerfile 的能力,Docker 留下了無限的可能。
能做什么
說了這么一堆,那實際生產(chǎn)環(huán)境中 Docker 能做什么呢?常用的可能有下面這些(歡迎在評論中補充)
1. 多環(huán)境的部署切換
業(yè)務(wù)開發(fā)中往往需要區(qū)分開發(fā)環(huán)境與線上環(huán)境,利用 Docker 能原封不動的將開發(fā)環(huán)境中的 代碼與環(huán)境原封不動無污染的 遷移到線上環(huán)境,配合一定的自動化流程即可實現(xiàn)自動的發(fā)布。
2. 前端云構(gòu)建
因為 node_modules 的蛋疼問題,同一個倉庫下不同人開發(fā)往往會遇到不同的人使用不同的 包版本 且自己根本不知道與別人不一樣,最終導(dǎo)致發(fā)布之后產(chǎn)生線上問題。利用 Docker 可以在云端新建容器,遠程 無污染、低成本 構(gòu)建代碼,實現(xiàn) 不同人用的一定是同一個版本。
3. 復(fù)雜環(huán)境一鍵配置
某些場景下可能會配一些超級復(fù)雜的環(huán)境(比如:大一同學(xué)配 Java 環(huán)境),這個時候可以利用 Docker 對環(huán)境配置做封裝,直接生成鏡像,讓大家低成本使用。
4. 持續(xù)集成單元測試
類似于 travis-ci 這種
5. 同應(yīng)用多版本隔離、文件隔離
比如這個項目依賴 node6,那個項目依賴 node 8(只是舉例子,硬盤夠大的話還是建議通過 nodeinstall 解決);同一臺服務(wù)器上跑了 100 個 wordpress 程序(可以用 Docker 建立隔離開,防止互相污染)。
看完了這篇文章,相信你對“從0開始了解Docker入門的方法”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
原文鏈接:https://juejin.im/post/5ad3172c5188257ddb10109a
網(wǎng)站名稱:從0開始了解Docker入門的方法-創(chuàng)新互聯(lián)
地址分享:http://aaarwkj.com/article12/ihpgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、動態(tài)網(wǎng)站、App開發(fā)、企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容