日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

Docker学习(三)-----Docker镜像常用命令

發(fā)布時(shí)間:2023/11/28 生活经验 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker学习(三)-----Docker镜像常用命令 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

六.Docker鏡像

鏡像是Docker的三大組件之一
Docker運(yùn)行容器前需要本地存在對(duì)應(yīng)的鏡像,如果本地不存,Docker會(huì)從鏡像倉(cāng)庫(kù)下載

6.1Docker獲取鏡像

6.1.1查找鏡像

我們可以從Docker Hub網(wǎng)站來(lái)搜索鏡像,Docker Hub網(wǎng)址為:
https://hub.docker.com/
我們也可以使用docker search命令來(lái)搜索鏡像,比如我們需要一個(gè)tomcat的鏡像來(lái)作為我們的web服務(wù),我們可以通過(guò)docker search命令搜索tomcat來(lái)尋找適合我們的鏡像

docker search --help
docker search tomcat

可以加以下參數(shù)

-f ,根據(jù)提供的條件過(guò)濾器輸出
--format 用G模板打印出漂亮的搜索結(jié)果
--limit 搜索結(jié)果的最大數(shù)量(默認(rèn)值為25)
--no-trunc 不要截?cái)噍敵?

6.1.2 獲取鏡像

從Docker鏡像倉(cāng)庫(kù)獲取鏡像的命令是docker pull其命令格式為:

docker pull [選項(xiàng)] [Docker Registey 地址[:端口號(hào)]/] 倉(cāng)庫(kù)名[:標(biāo)簽]
具體的選項(xiàng)可以用過(guò)docker pull --help命令看到,這里我們說(shuō)一下鏡像名稱(chēng)的格式
- Docker 鏡像倉(cāng)庫(kù)地址:地址的格式一般是 <域名/IP>[:端口號(hào)],默認(rèn)地址是Docker Hub
- 倉(cāng)庫(kù)名:這里的倉(cāng)庫(kù)名是兩段式名稱(chēng),即<用戶名>/<軟件名>.對(duì)于Docker Hub,如果不給出用戶名,則默認(rèn)位library,也就是官方鏡像

我們需要一個(gè)tomcat的鏡像來(lái)作為我們的web服務(wù),通過(guò)docker pull獲取鏡像

docker pull tomcat:版本號(hào) //不寫(xiě):版本號(hào) 代表laster版本

6.2Docker列出鏡像

要想列出已經(jīng)下載的鏡像,可以使用docker image-ls命令

docker images //docker image ls


列表包含了倉(cāng)庫(kù)名,標(biāo)簽,鏡像ID,創(chuàng)建時(shí)間以及所占用的空間
其中倉(cāng)庫(kù)名,標(biāo)簽在之前的基礎(chǔ)概念已經(jīng)介紹過(guò)了,鏡像ID則是鏡像的唯一標(biāo)識(shí),一個(gè)鏡像可以對(duì)應(yīng)多個(gè)標(biāo)簽,因此,如果擁有相同的ID,因?yàn)樗鼈儗?duì)應(yīng)的是同一個(gè)鏡像

如果仔細(xì)觀察,會(huì)注意到,這里標(biāo)識(shí)的所占空間和在Docker Hub上看到的鏡像大小不同,這是因?yàn)镈ocker Hub中顯示的體積是壓縮后的體積。在鏡像下載和上傳過(guò)程中鏡像是保持著壓縮狀態(tài)的,因此Docker Hub所顯示的大小是網(wǎng)絡(luò)傳輸中更關(guān)心的流量大小。而docker image ls顯示的是鏡像下載到本地后,展開(kāi)的大小,準(zhǔn)確說(shuō),是展開(kāi)后的各層所占空間的總和,因?yàn)殓R像到本地后,查看空間的時(shí)候,更關(guān)心的是本地磁盤(pán)空間占用的大小。

另外一個(gè)需要注意的問(wèn)題是,docker image ls列表中的鏡像體積總和并非是所有鏡像實(shí)際硬盤(pán)消耗。由于Docker鏡像是多層存儲(chǔ)結(jié)構(gòu),并且可以繼承,復(fù)用,因此不同鏡像可能會(huì)因?yàn)槭褂孟嗤幕A(chǔ)鏡像,從而擁有共同的層,由于Docker使用Union FS,相同的層只需要保存一份即可,因此實(shí)際鏡像硬盤(pán)占用空間很可能要比這個(gè)列表鏡像大小的總和要小的多

虛懸鏡像
鏡像列表中,還可以看到一特殊的鏡像,這個(gè)鏡像既沒(méi)有倉(cāng)庫(kù)名,也沒(méi)有標(biāo)簽,均為<none>

docker image prune

6.3舉例說(shuō)明

6.3.1安裝tomcat

docker pull tomcat

6.3.2安裝nginx

docker pull nginx:laster

6.3.3列出docker鏡像

tomcatnginx就已經(jīng)在里面了

docker images

6.3.4安裝指定的tomcat版本

docker pull tomcat:8


這里下載的8版本有部分是和新版一樣的內(nèi)容,所以應(yīng)該就是不直接下載了,直接從那個(gè)倉(cāng)庫(kù)里復(fù)用了,個(gè)人分析

6.3.5再次列出docker鏡像

docker images


注:這里說(shuō)一下tomcat8和tomcat的latest版本所占空間大小是小于672MB+680MB的,因?yàn)樗麄z中的代碼是有共用的。真實(shí)所占空間可能就tomcat8(400MB)+680MB,不懂的話請(qǐng)忽略跳過(guò)

6.4Docker刪除本地鏡像

docker image rm [選項(xiàng)] <鏡像1> [<鏡像2>...]

注:用ID,鏡像名,摘要?jiǎng)h除鏡像
其中,<鏡像>可以是鏡像短ID,鏡像長(zhǎng)ID,鏡像名或者鏡像摘要。

如果要?jiǎng)h除本地的鏡像,可以使用docker image rmi/rm命令

docker image rmi 鏡像ID  //常用

注:要?jiǎng)h除鏡像必須確此鏡像目前沒(méi)有被任何容器使用

6.4.1舉例說(shuō)明

安裝nginx 1.20版本

docker pull nginx:1.20

通過(guò)短ID來(lái)刪除nginx 1.20版本

短ID

docker rmi c90c   //你這里不要照抄啊,先查看你的nginx的ID是多少,短ID能和其他版本的區(qū)分就行

6.5Docker其他輔助命令

6.5.1查看本地鏡像的IMAGE ID

docker images -q

6.5.2查看一個(gè)鏡像的制作歷程

docker history 鏡像名稱(chēng)

6.6Docker保存鏡像

備份本地倉(cāng)庫(kù)的鏡像

6.6.1用save子命令將本地倉(cāng)庫(kù)的鏡像保存當(dāng)前目錄下

docker save -o tomcat.li.tar 鏡像名稱(chēng)

6.6.2將本地目錄下的鏡像備份文件導(dǎo)入本地Docker倉(cāng)庫(kù)

#  方式一(不輸出詳細(xì)信息)
docker load -i tomcat.li.tar
#  方式二(輸出詳細(xì)信息)
docker load < tomcat.li.tar

總結(jié)

以上是生活随笔為你收集整理的Docker学习(三)-----Docker镜像常用命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。