資源描述:
《非常詳細(xì) Docker 學(xué)習(xí)筆記》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、閱讀目錄·1.1Docker守護(hù)進(jìn)程·1.2Docker客戶端·1.3Docker內(nèi)部·1.4libcontainer·1.5命名空間「Namespaces」·1.6資源配額「cgroups」·3.1Searchimages·3.2Pullimages·3.3Runninganinteractiveshell·3.4相關(guān)快捷鍵·4.1dockerhelp·4.2dockersearch·4.3dockerinfo·4.4dockerpull&&dockerpush·4.5dockerimages·4.6dockerrmi·4.7d
2、ockerrun·4.8dockerstart
3、stop
4、kill......·4.9Docker1.3新增特性和命令·4.10Docker1.5新特性·5.1自動(dòng)映射端口·5.2綁定端口到指定接口·6.1Docker四種網(wǎng)絡(luò)模式·6.2列出當(dāng)前主機(jī)網(wǎng)橋·6.3查看當(dāng)前docker0ip·6.4運(yùn)行一個(gè)容器·6.5不同主機(jī)間容器通信·7.1FROM·7.2MAINTAINER·7.3CMD·7.4EXPOSE·7.5ENV·7.6ADD·7.7COPY·7.8ENTRYPOINT·7.9VOLUME·7.10USER·7.11WO
5、RKDIR·7.12ONBUILD·7.13DockerfileExamples..·7.14dockerbuild·7.15dockerfile最佳實(shí)踐·8.1數(shù)據(jù)卷·8.2創(chuàng)建和掛載一個(gè)數(shù)據(jù)卷容器·8.3備份、恢復(fù)或遷移數(shù)據(jù)卷·8.4刪除Volumes·9.1容器命名·9.2鏈接容器·10.1快速構(gòu)建·10.2不使用容器構(gòu)建registry·10.3提交指定容器到私有庫一、Docker簡(jiǎn)介Docker兩個(gè)主要部件:·Docker:開源的容器虛擬化平臺(tái)·DockerHub:用于分享、管理Docker容器的DockerSaaS平臺(tái)
6、--DockerHubDocker使用客戶端-服務(wù)器(C/S)架構(gòu)模式。Docker客戶端會(huì)與Docker守護(hù)進(jìn)程進(jìn)行通信。Docker守護(hù)進(jìn)程會(huì)處理復(fù)雜繁重的任務(wù),例如建立、運(yùn)行、發(fā)布你的Docker容器。Docker客戶端和守護(hù)進(jìn)程可以運(yùn)行在同一個(gè)系統(tǒng)上,當(dāng)然你也可以使用Docker客戶端去連接一個(gè)遠(yuǎn)程的Docker守護(hù)進(jìn)程。Docker客戶端和守護(hù)進(jìn)程之間通過socket或者RESTfulAPI進(jìn)行通信。..1.1Docker守護(hù)進(jìn)程如上圖所示,Docker守護(hù)進(jìn)程運(yùn)行在一臺(tái)主機(jī)上。用戶并不直接和守護(hù)進(jìn)程進(jìn)行交互,而是通過D
7、ocker客戶端間接和其通信?;氐巾敳?.2Docker客戶端Docker客戶端,實(shí)際上是docker的二進(jìn)制程序,是主要的用戶與Docker交互方式。它接收用戶指令并且與背后的Docker守護(hù)進(jìn)程通信,如此來回往復(fù)?;氐巾敳?.3Docker內(nèi)部要理解Docker內(nèi)部構(gòu)建,需要理解以下三種部件:..·Docker鏡像-Dockerimages·Docker倉庫-Dockerregisteries·Docker容器-DockercontainersDocker鏡像Docker鏡像是Docker容器運(yùn)行時(shí)的只讀模板,每一個(gè)鏡像由一系
8、列的層(layers)組成。Docker使用UnionFS來將這些層聯(lián)合到單獨(dú)的鏡像中。UnionFS允許獨(dú)立文件系統(tǒng)中的文件和文件夾(稱之為分支)被透明覆蓋,形成一個(gè)單獨(dú)連貫的文件系統(tǒng)。正因?yàn)橛辛诉@些層的存在,Docker是如此的輕量。當(dāng)你改變了一個(gè)Docker鏡像,比如升級(jí)到某個(gè)程序到新的版本,一個(gè)新的層會(huì)被創(chuàng)建。因此,不用替換整個(gè)原先的鏡像或者重新建立(在使用虛擬機(jī)的時(shí)候你可能會(huì)這么做),只是一個(gè)新的層被添加或升級(jí)了。現(xiàn)在你不用重新發(fā)布整個(gè)鏡像,只需要升級(jí),層使得分發(fā)Docker鏡像變得簡(jiǎn)單和快速。Docker倉庫Docke
9、r倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫。同樣的,Docker倉庫也有公有和私有的概念。公有的Docker倉庫名字是DockerHub。DockerHub提供了龐大的鏡像集合供使用。這些鏡像可以是自己創(chuàng)建,或者在別人的鏡像基礎(chǔ)上創(chuàng)建。Docker倉庫是Docker的分發(fā)部分。Docker容器Docker容器和文件夾很類似,一個(gè)Docker容器包含了所有的某個(gè)應(yīng)用運(yùn)行所需要的環(huán)境。每一個(gè)Docker容器都是從Docker鏡像創(chuàng)建的。Docker容器可以運(yùn)行、開始、停止、移動(dòng)和刪除。每一個(gè)Docker容器都是獨(dú)立和安全的應(yīng)用
10、平臺(tái),Docker容器是Docker的運(yùn)行部分?;氐巾敳?.4libcontainerDocker從0.9版本開始使用libcontainer替代lxc,libcontainer和Linux系統(tǒng)的交互圖如下:..·圖片來源:Docker0.9:in