Docker中的鏡像詳細介紹
Docker中的鏡像詳細介紹
Docker鏡像可以理解為運行在Docker容器中的一個組件,本節(jié)將會帶領(lǐng)大家學(xué)會Docker鏡像的下載、搜索、查看、添加刪除等一系列操作。Docker在運行容器前需要本地存在對應(yīng)的鏡像,如果鏡像不存在本地,Docker會嘗試從默認的遠程倉庫Docker Hub下載。
一、獲取鏡像:
1、Docker從網(wǎng)絡(luò)上下載鏡像的格式為:
docker pull [NAME]:[TAG]
其中TAG即為標簽,如果不指定標簽的話,那么默認會下載最新版本的鏡像。
比如從Docker Hub中下載最新的ubuntu操作系統(tǒng):
docker pull ubuntu
則docker會從Docker Hub中下載最新版本的ubuntu。
2、指定倉庫下載鏡像:
如果覺得在Docker Hub下載鏡像太慢的話,可以在其它倉庫下載鏡像,只需要在下載的鏡像前加入指定倉庫的url即可
docker pull [REPOSITORY]/ubuntu
3、使用鏡像:
因為已經(jīng)下載鏡像到本地了,所以可以隨時使用,下面是使用該ubuntu鏡像來運行ubuntu中的bash應(yīng)用:
docker run -t -i ubuntu /bin/bash
輸入exit即可退出bash應(yīng)用。
二、查看鏡像:
1、命令為:
docker images
使用上述命令可以看出本地存在的所有鏡像文件,其中,
REPOSITORY代表來自哪個倉庫,比如從Docker Hub下載ubuntu,那么直接顯示ubuntu,如果是從其它倉庫中下載的ubuntu,那么會顯示
REPOSITORY/ubuntu
TAG代表鏡像的標簽
IMAGE ID代表鏡像的唯一ID
CREATED代表創(chuàng)建時間
VIRTUAL SIZE代表鏡像的大小
2、為鏡像設(shè)置標簽
為了方便在工作中使用鏡像,可以使用docker tag命令為本地鏡像打標簽,標簽可以看做是一個別名,一個鏡像可以有多個標簽,但只能有一個ID
docker tag [NAME]:[Old TAG] [NAME]:[New TAG]
會將本地的鏡像上增加一個新的標簽,即New TAG,比如:
docker tag ubuntu:latest ubuntu:happyheng
此將本地的標簽為latest的ubuntu打了一個新的標簽,為happyheng。
當然,打了標簽后,本地的鏡像不會有任何改變,只是有了一個新的標簽而已。
3、查看鏡像的詳細信息:
docker inspect [IMAGE ID]
此可以根據(jù)鏡像的id查看此鏡像的詳細信息
三、搜索鏡像
docker search [NAME]
其會返回鏡像的關(guān)鍵字,包括鏡像名字、描述、星級、是否官方創(chuàng)建、是否自動創(chuàng)建等。
四、刪除鏡像
1、使用鏡像的標簽來刪除鏡像:
docker rmi [NAME]:[TAG]
注意使用標簽來刪除時,如果一個鏡像有兩個標簽,那么只刪除一個是不會刪除鏡像的,但如果只剩下一個標簽,那么刪除此標簽會將鏡像也刪除
2、使用鏡像ID來刪除鏡像:
docker rmi [ID]
注意如果有容器在使用鏡像,那么是不能刪除成功的。
五、創(chuàng)建鏡像:
創(chuàng)建鏡像的方法有三種,分別為:
基于已有鏡像的容器創(chuàng)建
基于本地模板導(dǎo)入
基于Dockerfile創(chuàng)建
1、基于已有鏡像的容器創(chuàng)建:
該方法主要是使用docker commit [OPTIONS] [Container ID] [NAME]:[TAG]
注意CONTAINER ID是容器的id,而不是鏡像的id,因為鏡像是在容器中運行中發(fā)生改變,所以要為容器的id。
比如
docker run -ti ubuntu:latest /bin/bash root@c8ee80e08468:/# touch test root@c8ee80e08468:/# exit
注意此時容器的id為c8ee80e08468,所以commit提交鏡像時,命令為:
docker commit -m "add a new file" -a "newbee" c8ee80e08468 ubuntu:add
此為將修改的鏡像提交到本地倉庫中,其中提交的tag為ubuntu:add
其中:
-a : 作者信息
-m : 提交的信息
-p : 提交時暫停容器運行
可以發(fā)現(xiàn),這種方式與Git很相似。
六、存出和載入鏡像:
可以使用docker save和docker load命令來存儲和載入鏡像。
1、存出鏡像:
docker save -o xxx.tar [NAME]:[TAG]
比如我想把鏡像tag為ubuntu:add的鏡像保存為tar包,那么就可以使用
docker save -o ubuntu_add.tar ubuntu:add
其中,當前終端在哪個目錄,tar就保存到哪
2、載入鏡像:
docker load --input ubuntu_add.tar
可以將上述目錄的tar鏡像載入進來。
七、上傳鏡像
可以使用docker push命令將鏡像上傳至倉庫,默認上傳到Docker Hub官方倉庫,當然需要登錄:
docker push [NAME]:[TAG]
即可將本地的鏡像上傳上去
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
使用docker部署django技術(shù)棧項目的方法步驟
這篇文章主要介紹了使用docker部署django技術(shù)棧項目的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2019-09-09Docker數(shù)據(jù)存儲之Bind mounts詳解
今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲之Bind mounts詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02