一個(gè)非常好的問題。Docker是一個(gè)開源的應(yīng)用容器引擎,將應(yīng)用以及依賴打包到一個(gè)可移植的鏡像中,實(shí)現(xiàn)虛擬化,有助于快捷高效的交付應(yīng)用。
那么應(yīng)該如何學(xué)習(xí)Docker容器技術(shù)呢?
一,Docker基礎(chǔ)
二,Docker應(yīng)用
三,Docker源碼
題主是在校學(xué)生,缺少實(shí)際應(yīng)用Docker的項(xiàng)目背景,建議參與技術(shù)社區(qū)和開源項(xiàng)目,主動(dòng)承擔(dān)Docker相關(guān)工作。
掌握Docker基礎(chǔ)知識(shí)和應(yīng)用技能后,如果對(duì)Docker非常有興趣,或者期望成為Docker專家,那就應(yīng)該進(jìn)一步研究源代碼。
一,Docker基礎(chǔ)
Docker核心概念包括三部分:
1)鏡像Image,應(yīng)用和依賴打包生成的文件,類似安裝包。
2)容器Container,鏡像創(chuàng)建運(yùn)行應(yīng)用的實(shí)例。
3)倉庫Repository,Docker存放鏡像文件的地方。
Docker-compose資源編排,將多個(gè)服務(wù)和容器組織成為一個(gè)應(yīng)用系統(tǒng),聲明在docker-compose.yml文件中,這些資源可以作為一個(gè)整體來創(chuàng)建和啟動(dòng)。
Swarm是集群管理工具,將多個(gè)Docker節(jié)點(diǎn)統(tǒng)一管理組織,支持動(dòng)態(tài)擴(kuò)容等特性,和Kubernetes(k8s)相比,更加輕量,適合較小的應(yīng)用系統(tǒng)。
二,Docker應(yīng)用
1)Docker常用命令
2)Dockerfile鏡像創(chuàng)建語法
3)docker-compose.yml資源編排文件
4)Docker鏡像自動(dòng)構(gòu)建,使用云服務(wù)
三,Docker源碼
Docker使用Go語言開發(fā),遵守Apache2.0協(xié)議,主要模塊有Client、Daemon、Registry、Graph、Driver、libcontainer和Dockercontainer。
單獨(dú)說一下containerd,最早是Docker引擎的核心組件,后來Docker將其捐贈(zèng)出來獨(dú)立發(fā)展,新技術(shù)社區(qū)初始成員包括阿里云,AWS,Google,IBM和微軟,隨后containerd得到了快速發(fā)展和廣泛支持,Kubernetes也在2018年5月正式宣布,支持containerd作為標(biāo)準(zhǔn)容器運(yùn)行時(shí)管理器。
我是工作多年的Web應(yīng)用架構(gòu)師,陸續(xù)發(fā)布關(guān)于軟件開發(fā)方面的文章,我,了解更多IT專業(yè)知識(shí)。