本文主要介紹docker基礎(chǔ)知識(shí)(docker基礎(chǔ)實(shí)踐教程二),下面一起看看docker基礎(chǔ)知識(shí)(docker基礎(chǔ)實(shí)踐教程二)相關(guān)資訊。
001 docker的標(biāo)志
002預(yù)備知識(shí):linux,maven,git
003 docker是什么?
基于go語言的云開源項(xiàng)目的目標(biāo)是使其運(yùn)行環(huán)境實(shí)現(xiàn) 打包一次,到處跑通過管理應(yīng)用組件的生命周期,如打包、分發(fā)、部署和運(yùn)行。
images容器是由images創(chuàng)建的運(yùn)行實(shí)例,可以啟動(dòng)、開始、暫停、刪除,每個(gè)容器相互隔離。為了保證平臺(tái)的安全性,可以把它看作是一個(gè)簡單版本的linux環(huán)境。容器和圖像幾乎一樣,唯一不同的是容器的頂層是一個(gè)可讀可寫的存儲(chǔ)庫,是集中存儲(chǔ)圖像文件的地方。分為公倉和私倉。國內(nèi)最大的公共倉是阿里云和網(wǎng)易。
005碼頭的安裝
沒有安裝docker,操作系統(tǒng)是centos7.2。
步驟1: sudo yum install -y yum-utils
第二步:
sudo yum-config-manager \-add-repo \ -ce.repo結(jié)果:
第三步:啟動(dòng)docker,運(yùn)行helloworld程序。
006 docker安裝阿里云鏡像加速器。
第一步:找到阿里云鏡像加速器。
第二步:輸入docker。
第三步:創(chuàng)建daemon.json,編寫內(nèi)容(需要了解一些linux中vim的知識(shí))。
007常見命令
查看版本docker版本
查看詳細(xì)碼頭信息
幫助命令[key] docker - help
008鏡像命令[通用]
命令01: dock:列出所有本地鏡像(包括中間圖像層)。-q:僅顯示鏡像id摘要:顯示鏡像的摘要信息-無中繼c。ho5-@.com展示了鏡像信息的完整示例:
命令02 dock:[tag]
功能:在網(wǎng)上找圖(其中:[tag]表示版本號(hào),只需加個(gè)冒號(hào)和版本就可以下載這個(gè)版本的軟件,否則默認(rèn)下載最新版本,如mysqleco 5-@ . com 5.7)。
參數(shù):
-no-trunc:顯示鏡像的完整描述-s指定值:列出集合不小于指定值的鏡像-automat:僅列出自動(dòng)構(gòu)建類型的鏡像實(shí)例:
命令03 dock:[tag]
功能:從網(wǎng)上下載圖片(其中:[tag]表示版本號(hào),后面加個(gè)冒號(hào)和版本就可以下載這個(gè)版本的軟件;如果沒有,默認(rèn)下載最新版本,如mysql:5.7)。
命令03 docker rmi -f鏡像id功能:刪除鏡像。
命令04 dock:tag鏡像名稱02:tag功能:刪除多個(gè)鏡像。
命令05 docker rmi -f $(docker images -qa)功能:刪除所有鏡像。請(qǐng)注意,在刪除鏡像之前,鏡像處于停止?fàn)顟B(tài),不能刪除正在運(yùn)行的鏡像。
009容器命令
描述:創(chuàng)建一個(gè)鏡像容器是很重要的。
命令01 docker運(yùn)行[選項(xiàng)]圖像[命令][參數(shù)...]功能:創(chuàng)建并啟動(dòng)一個(gè)容器。
command 02 docker ps [options]函數(shù):列出所有當(dāng)前運(yùn)行的容器。
選項(xiàng)描述
示例:
命令03退出功能:容器停止并退出。
命令04 ctrl p q函數(shù):容器不停地退出。
例如:
解釋
命令05 dlockerstop容器id或容器名稱函數(shù):停止容器。
命令06 docker kill容器id或容器名稱功能:強(qiáng)制容器停止(kill the container)。
命令07 docker rm容器id功能:刪除停止的容器。
案例:
命令08:08:docker rm-f $(docker ps-a-q-q)功能:一次刪除多個(gè)容器。
命令09 docker ps -a -q | xargs docker rm函數(shù):一次刪除多個(gè)容器。
命令10 docker run -d容器名來啟動(dòng)守護(hù)進(jìn)程容器。
命令11 dockerlogs-f-t-tail容器id查看容器日志。
參數(shù):
1) -t:添加時(shí)間戳
2) -f:遵循最新的日志打印。
3)-tail:數(shù)字顯示最后一個(gè)數(shù)字。
命令12 docker top容器id來查看容器中運(yùn)行的進(jìn)度。
例如:
命令13 docker檢查集裝箱id以查看集裝箱內(nèi)部的詳細(xì)信息。
例如:
命令14 docker exec -it容器id bashshell進(jìn)入正在運(yùn)行的容器,并在命令行上與之交互。
命令15重新輸入docker附加容器id,進(jìn)入正在運(yùn)行的容器,并通過命令行與之交互。
差異:
attach:直接進(jìn)入容器并啟動(dòng)命令的終端不會(huì)啟動(dòng)新的進(jìn)程。
exec:就是在一個(gè)容器里打開一個(gè)新的終端,可以比一個(gè)番茄啟動(dòng)一個(gè)新的進(jìn)程。
例如:
命令15 docker cp容器id:容器內(nèi)部路徑目的主機(jī)路徑從容器向主機(jī)打開文件。
例如:
總結(jié):
010 docker鏡像
這是什么?
是一個(gè)輕量級(jí)的、可執(zhí)行的獨(dú)立軟件包,用于封裝軟件運(yùn)行環(huán)境和基于運(yùn)行時(shí)環(huán)境開發(fā)的軟件,包括運(yùn)行一個(gè)軟件所需的全部內(nèi)容,包括代碼和運(yùn)行時(shí)。docker加載原則,如庫、環(huán)境變量和配置文件。
碼頭工人 s映像實(shí)際上是由一個(gè)逐層的文件系統(tǒng)租用的,這個(gè)文件系統(tǒng)叫做unionfs。
bootfs(boot file system)主要包括bootloader和內(nèi)核,bootloader主要加載內(nèi)核。linux剛啟動(dòng)的時(shí)候會(huì)加載bootfs文件系統(tǒng)。bootfs位于docker圖像的底部。
其中,unionfs(聯(lián)合文件系統(tǒng)):
個(gè)人理解
docker圖像使用這種層次結(jié)構(gòu)的原因是:
最大的優(yōu)勢是資源共享:
例如,如果從同一個(gè)基礎(chǔ)映像構(gòu)建多個(gè)映像,主機(jī)只需在磁盤上保存基礎(chǔ)映像的副本。
同時(shí),只需要在內(nèi)存中加載一個(gè)基礎(chǔ)映像,就可以服務(wù)于所有容器,映像的每一層都可以共享。
docker鏡像的特征
l docker圖像是只讀的。
當(dāng)容器啟動(dòng)時(shí),一個(gè)新的可寫層被加載到圖像的頂部,這通常被稱為 集裝箱層與集裝箱,容器層下面是圖像層。
docker鏡像提交補(bǔ)充說明;
案例:
011碼頭集裝箱數(shù)據(jù)量
l相當(dāng)于外置活動(dòng)硬盤,可以永久保存數(shù)據(jù)。
這是什么?
碼頭工人 的想法
n把應(yīng)用和操作環(huán)境打包成容器操作,容器操作可以伴隨容器,但是我們對(duì)數(shù)據(jù)的要求是要持久。
n希望數(shù)據(jù)可以在容器之間共享。
如果l docker容器生成的數(shù)據(jù)沒有通過docker commit生成新的映像就沒有保存為映像的一部分,那么當(dāng)容器被刪除后,數(shù)據(jù)自然就沒有了。
為了在docker中保存數(shù)據(jù),我們引入了卷。
l有點(diǎn)類似于redis中的rdb和aof文件。
你能做什么?
l數(shù)據(jù)的持久性
容器之間的數(shù)據(jù)繼承和共享
l volume是一個(gè)目錄或文件,它存在于一個(gè)或多個(gè)容器中,由docker掛在容器中,但它不屬于聯(lián)邦文件系統(tǒng),所以它可以繞過union文件系統(tǒng)提供的一些特性來持久存儲(chǔ)或共享數(shù)據(jù)。
l卷設(shè)計(jì)的目的是持久化數(shù)據(jù),完全獨(dú)立于容器的生命周期,所以docker不會(huì)。刪除容器時(shí),刪除已裝載的數(shù)據(jù)卷。
特點(diǎn):
數(shù)據(jù)卷可以在容器之間共享或重用。數(shù)據(jù)量的變化可以直接生效。鏡像更新中將不包括數(shù)據(jù)卷中的更改。數(shù)據(jù)卷的生命周期持續(xù)到?jīng)]有容器使用它為止。
數(shù)據(jù)卷宗
添加到容器中
直接命令添加1)命令dock:/容器目錄鏡像名稱。
2)檢查數(shù)據(jù)卷是否安裝在陳宮上。
檢查安裝條件
3)容器和主機(jī)之間的數(shù)據(jù)共享
4)容器停止退出后,主機(jī)修改數(shù)據(jù),看是否可以同步。
5)命令(有權(quán)限)(只讀,不可寫)
命令dock:/容器目錄:ro鏡像名稱。
012 docker分析【高級(jí)】【我不 我暫時(shí)不需要它,我還沒有。;我沒學(xué)過,我 我以后會(huì)彌補(bǔ)的]
013碼頭常用集裝箱安裝
總體安裝步驟
1.搜索圖像
2.拉鏡像
查看鏡子
4.開始鏡像
停止容器
移動(dòng)容器
安裝tomcat
1.從docker hub中找到tomcat圖像。
(1)docker search tomcat
2.將tomcat映像從docker hub拖到本地。
①碼頭工人拉雄貓
1)官網(wǎng)命令。
②拉動(dòng)完成。
3.docker圖像,看看是否tomcat已被拉。
(1)命令:docker圖像
4.使用tomcat映像創(chuàng)建容器(也稱為運(yùn)行映像)。
(1)命令:docker run it-p 8080 e: 8080 tomcat。
① -p主機(jī)端口:docker容器端口
② -p隨機(jī)分配端口
③交互作用
④終端
安裝mysql
1。從docker hub尋找mysql5.6圖片2.拉mysql5.6
檢查一下
4.創(chuàng)建相應(yīng)的容器并運(yùn)行mysql。
5.進(jìn)入mysql容器
6.讓外接的win10也連接docker中運(yùn)行的mysql服務(wù)(如果是在阿里云 的云服務(wù)器,您需要向安全組添加一個(gè)入站規(guī)則,端口3306)。
安裝redis(redis沒有 我沒有學(xué)過,也沒有。;不要自己測量)
拉取和下載
查看目錄
3.使用redis3.2映像(也稱為運(yùn)行映像)創(chuàng)建一個(gè)容器。
1)使用鏡像
2)在host/zzyyuse/my redis/conf/redis.config目錄中創(chuàng)建新的redis . conf文件。vim/zzyyuse/my redis/conf/redis . conf/redis . conf
3)寫出redis最基本的配置(去掉與本機(jī)的綁定(127.0.0.1))
4)檢查服務(wù)
4.連接測試 redis-cli。
成功
5.測試持久文件生成
014本地圖片發(fā)布在阿里云上(不在測試)。
1.將本地圖像發(fā)布到阿里云的過程
2.圖像生成的方法
從容器創(chuàng)建新圖像。
命令:docker commit [options]容器id[repository[:標(biāo)簽]]
考試
3.將本地圖片推送到阿里云
4.創(chuàng)建一個(gè)鏡像存儲(chǔ)庫并將鏡像推送到注冊(cè)表。
、
考試
5.可以在公有云上查詢問
6.把阿里云上的圖片下載到本地。
1)復(fù)制地址
2)拉動(dòng)
3)運(yùn)行
標(biāo)簽:
鏡子容器
了解更多docker基礎(chǔ)知識(shí)(docker基礎(chǔ)實(shí)踐教程二)相關(guān)內(nèi)容請(qǐng)關(guān)注本站點(diǎn)。