亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

直接拿來用!一文學(xué)會(huì) Docker 鏡像

作者 | 羽生結(jié)弦

責(zé)編 | 胡雪蕊

出品 | CSDN(ID:CSDNnews)

Docker 是一個(gè)基于Go語言開發(fā)的開源應(yīng)用容器,開發(fā)者可以打包應(yīng)用和相關(guān)包,到一個(gè)輕量級 、可移植的容器中,并且可以發(fā)布到任何機(jī)器 ,實(shí)現(xiàn)虛擬化,完全使用沙箱機(jī)制,而且性能開銷很低。

其中鏡像是Docker三大核心概念中最重要的一個(gè)。鏡像是一個(gè)特殊的文件系統(tǒng),除了提供容器運(yùn)行時(shí)所需的程序、庫、資源、配置等文件外,還包含了一些為運(yùn)行時(shí)準(zhǔn)備的一些配置參數(shù)。鏡像是容器在本地運(yùn)行的基礎(chǔ),Dokcer運(yùn)行容器前需要本地存在對應(yīng)的鏡像,如果不存在對應(yīng)的鏡像,Docker 會(huì)先從默認(rèn)的鏡像倉庫下載(如果用戶不希望Docker從默認(rèn)的鏡像倉庫下載鏡像的話,可以使用自定義鏡像倉庫)。這篇文章將講解鏡像的拉取、查看鏡像信息、搜索鏡像、刪除鏡像和鏡像的導(dǎo)入導(dǎo)出。

 

1、拉取鏡像

要想拉取鏡像,就要用到 pull命令,該命令的語法為:


 

docker[image]pull NAME[:TAG]

注:pull 命令中參數(shù) NAME 表示鏡像倉庫名稱,TAG 表示鏡像標(biāo)簽(一般表示為版本)

舉個(gè)例子來看一下pull命令怎么使用。我們從默認(rèn)的鏡像倉庫與拉取 Ubuntu 16.04,輸入如下命令:


 

docker pull ubuntu:16.04

執(zhí)行上面的命令,將會(huì)看到如下輸出:

直接拿來用!一文學(xué)會(huì) Docker 鏡像

注1:如果不顯示指定TAG,Docker默認(rèn)使用latest標(biāo)簽,下載鏡像倉庫中最新的鏡像

注2:latest標(biāo)簽會(huì)隨著最新版本的變化而變化,例如昨天某鏡像的版本是 1.0 ,今天上傳了2.0版本的鏡像,那么latest標(biāo)簽指的就是2.0這個(gè)版本

我們從前面的圖中可以看到,在鏡像下載過程中出現(xiàn)了4行,這四行代表著鏡像文件有4個(gè)層,每層的唯一id就是每行開頭的那串字符串(例如:35b42117c431)。當(dāng)不同的鏡像存在相同的層時(shí),本地僅存出一份內(nèi)容,這樣就叫少了存儲空間。

一般情況下,如果是從官方倉庫注冊服務(wù)器下載鏡像文件時(shí)是不需要加上倉庫注冊服務(wù)器地址的,但是如果是從非官方倉庫注冊服務(wù)器下載的話,就需要加上注冊服務(wù)器地址,例如我們要從阿里云下載ubuntu16.04的鏡像,那么我們應(yīng)該這樣寫命令:


 

docker pull registry.cn-shanghai.aliyuncs.com/ubuntu:16.04

常用的pull命令參數(shù)有如下兩個(gè):

直接拿來用!一文學(xué)會(huì) Docker 鏡像
 

2、查看鏡像信息

查看鏡像信息所用到的命令是 imageslsinspect命令。比如要查看當(dāng)前電腦上存在的鏡像,可以這么做:


 

docker images

或者


 

docker image ls

執(zhí)行上面的命令,將會(huì)列出當(dāng)前系統(tǒng)中存在的鏡像,如下圖

直接拿來用!一文學(xué)會(huì) Docker 鏡像

從上圖中可以看出如下信息:

  • REPOSITORY:鏡像來源

  • TAG:鏡像標(biāo)簽,用于標(biāo)記來自同一個(gè)倉庫的不同鏡像

  • IMAGE ID:鏡像ID,鏡像的唯一標(biāo)識

  • CREATED:創(chuàng)建時(shí)間

  • SIZE:鏡像大小

注1:鏡像ID是很重要的信息,因?yàn)樗晴R像的唯一標(biāo)識,我們在操作鏡像時(shí)需要用到它。一般情況下我們只會(huì)輸入鏡像ID的前N位就可以區(qū)分一個(gè)鏡像了。

注2:鏡像的大小只是代表了鏡像的邏輯體積大小。由于相同鏡像層在本地只會(huì)存儲一份,因測鏡像在物理上占用的空間小于各個(gè)鏡像的邏輯體積之和。

images 和 ls 命令常用的參數(shù)選項(xiàng)如下:

直接拿來用!一文學(xué)會(huì) Docker 鏡像

我們有時(shí)候需要獲取鏡像詳細(xì)的信息,這時(shí)我們可以使用 inspect 命令,語法格式為:


 

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

例如我們要查看剛才我們拉取的Ubuntu16.04鏡像的詳細(xì)信息,可以這么操作:


 

docker inspect 13c9

運(yùn)行上面的命令后,我們會(huì)看到鏡像的詳細(xì)信息以json的形式打印出來,如圖:

直接拿來用!一文學(xué)會(huì) Docker 鏡像

我們不僅可以查看鏡像的詳細(xì)信息,同樣我們也可以查看層的詳細(xì)信息,這時(shí)就需要用到history 命令,語法如下:


 

docker history [OPTIONS] NAME|ID

例如我們查看Ubuntu16.04鏡像層的詳細(xì)信息:


 

docker history 13c9

運(yùn)行命令,將打印出層的詳細(xì)信息。

直接拿來用!一文學(xué)會(huì) Docker 鏡像
 

3、搜索鏡像

 

我們可以使用 search 命令搜索倉庫中的鏡像,語法為:


 

docker search [option] keyword

option 常用的參數(shù)如下:

直接拿來用!一文學(xué)會(huì) Docker 鏡像

我們舉個(gè)例子來看一下,我們要搜索倉庫中包含MySQL的鏡像,代碼如下:


 

docker search mysql

運(yùn)行上面的命令,將會(huì)列出包含mysql關(guān)鍵字的鏡像:

直接拿來用!一文學(xué)會(huì) Docker 鏡像
 

 

4、除/清除鏡像

1. 刪除鏡像

我們刪除鏡像的時(shí)候可以利用 鏡像標(biāo)簽 、 鏡像ID 來刪除鏡像。刪除鏡像的語法為:


 

docker rmi IMAGE_NAME|IMAGE_ID

例如我們利用鏡像標(biāo)簽刪除u16.04這個(gè)鏡像:


 

docker rmi u16.04

運(yùn)行上面的命令,u16.04這個(gè)鏡像將會(huì)被刪除。

注1:u16.04 這個(gè)鏡像是我利用ubuntu:16.04 這個(gè)鏡像通過添加鏡像標(biāo)簽創(chuàng)建的

注2:當(dāng)使用鏡像ID刪除鏡像時(shí),會(huì)先刪除所有指向該鏡像的標(biāo)簽,然后再刪除該鏡像文件本身

注3:如果存在通過該鏡像創(chuàng)建的容器時(shí),鏡像文件無法刪除。如果要強(qiáng)制刪除鏡像時(shí),可以使用 -f 參數(shù):docker rmi -f u16.04,但是不建議強(qiáng)制刪除鏡像。

2. 清理鏡像

經(jīng)過一段時(shí)間,系統(tǒng)中會(huì)存在臨時(shí)/不再使用的鏡像文件,那么我們可以通過 prune 命令清理鏡像,語法如下:

docker image [options] prune

option 常用的參數(shù)如下:

直接拿來用!一文學(xué)會(huì) Docker 鏡像

5、導(dǎo)入導(dǎo)出鏡像

1. 導(dǎo)出

如果要將鏡像導(dǎo)出可使用 save 命令,語法如下:


 

docker save image -o file

-o 表示將鏡像導(dǎo)出到tar文件,例如我們將 ubuntu:16.04導(dǎo)出到 u1604.tar 文件中:


 

docker save 13c9 -o u1604.tar

運(yùn)行上面命令后,ubuntu:16.04就導(dǎo)入到了ub1604.tar文件中:

直接拿來用!一文學(xué)會(huì) Docker 鏡像

2. 導(dǎo)入

如果要將鏡像導(dǎo)出可使用 load命令,語法如下:


 

docker load -i file

-i 表示將要導(dǎo)入到docker的鏡像tar文件,例如我們將 ub1604.tar導(dǎo)入到docker中:


 

docker load -i u1604.tar

運(yùn)行上面命令后,ub1604.tar將被導(dǎo)入到docker中

直接拿來用!一文學(xué)會(huì) Docker 鏡像


6、上傳鏡像

如果是上傳到官方倉庫,那么需要先注冊,然后才可以利用 push命令上傳鏡像,語法如下:


 

docker push NAME[:TAG]|[REGISTRY_HOST[:REGISTRY_PORT]/]

例如我們將ubuntu:16.04上傳到官方服務(wù)器上:


 

docker push 13c9


 

作者簡介:朱鋼,CSDN博客專家,.NET高級開發(fā)工程師,7年一線開發(fā)經(jīng)驗(yàn),參與過電子政務(wù)系統(tǒng)和AI客服系統(tǒng)的開發(fā),以及互聯(lián)網(wǎng)招聘網(wǎng)站的架構(gòu)設(shè)計(jì),目前就職于北京恒創(chuàng)融慧科技發(fā)展有限公司,從事企業(yè)級安全監(jiān)控系統(tǒng)的開發(fā)。

【END】

分享到:
標(biāo)簽:鏡像 Docker
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定