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