網(wǎng)站首頁 編程語言 正文
一、國內(nèi)Docker鏡像倉庫
由于大家都知道的原因,從國外的docker 倉庫中pull鏡像的下載速度實際上是很慢的。國內(nèi)的一些一線廠商以及docker官方都在國內(nèi)免費提供了一些docker鏡像倉庫,使用國內(nèi)的鏡像倉庫下載速度會有很大的提升。例如:
- Docker 官方提供的中國 registry mirror
- 阿里云加速器
- DaoCloud 加速器
我們以Docker官方提供的中國 registry mirror為例,來講解國內(nèi)鏡像倉庫源的配置方式。將?/etc/docker/daemon.json
?文件內(nèi)容修改為如下內(nèi)容,如果該文件不存在就新建一個
{ "registry-mirrors":["https://registry.docker-cn.com"] }
配置完成之后,重啟docker服務(wù)
sudo systemctl restart docker
再去下載pull鏡像,會發(fā)現(xiàn)比以前快了很多。就這么簡單!
三、搜索鏡像
Docker Hub?上有很多的官方鏡像以及第三方上傳的高質(zhì)量鏡像,下面就為大家介紹如何搜索并獲取這些鏡像。
- 第一種方式就是在Dcoker hub上直接搜索鏡像,比如我搜索redis鏡像,下方出現(xiàn)綠色盾牌標(biāo)志的就是redis官方提供的鏡像,安全性穩(wěn)定性都是有保證的。
第二種方式可以使用?
docker search
?來搜索鏡像,
我們也可以使用 命令來搜索鏡像。比如我們需要一個tomcat的鏡像來作為我們的web服務(wù)。我們可以通過 docker search 命令搜索tomcat來尋找適合我們的鏡像。
docker search redis
OFFICIAL字段值為OK的那一條記錄為官方的鏡像。
四、拉取鏡像
從 Docker 鏡像倉庫獲取鏡像的命令是 docker pull其命令格式為:
docker pull [選項] [Docker Registey 地址[:端口號]/] 鏡像名[:標(biāo)簽]
具體的選項可以通過 docker pull --help 命令看到,這里我們說一下鏡像名稱的格式。
<域名/IP>[:端口號] <用戶名>/<軟件名>
示例:通過 docker pull獲取redis最新版本的鏡像
docker pull redis:latest
等同于
docker pull redis
五、列出鏡像
要想列出已經(jīng)下載下來的鏡像,可以使用 docker image ls 命令。
docker images //等同于docker image ls
- REPOSITORY:倉庫及鏡像名稱
- TAG:標(biāo)簽及版本號
- IMAGE ID:鏡像ID,鏡像的唯一標(biāo)識
- CREATED:該鏡像的構(gòu)建時間
- SIZE: 該鏡像文件的大小
六、虛懸鏡像
在鏡像列表中,可能會存在一種特殊的鏡像,該鏡像既沒有倉庫名/鏡像名稱,也沒有標(biāo)簽/版本號,這兩個位置均顯示?<none>
?,這種鏡像通常被稱為?虛懸鏡像?,如下入所示。
虛懸鏡像產(chǎn)生的原因是什么?
其實虛懸鏡像最開始pull下載的時候是有鏡像名稱和標(biāo)簽版本號名稱的,比如redis官方發(fā)布了一個docker鏡像6.0版本,過了一段時間發(fā)現(xiàn)6.0版本的鏡像有可能存在安全問題,所以重新構(gòu)建了一個6.0版本的鏡像。
鏡像名稱redis和6.0的TAG都被新發(fā)布的鏡像占用了,舊版本的鏡像就丟失了鏡像名稱和標(biāo)簽,變成了虛懸鏡像。
一般來說,虛懸鏡像已經(jīng)失去了存在的價值,是可以隨意刪除的,使用下面的命令刪除:
docker image prune
七、刪除本地鏡像
下面的兩種語法都可以完成鏡像刪除的操作:
docker rmi [選項] <鏡像1> [<鏡像2>.....] docker image rm <鏡像1> [<鏡像2>.....]
上文語法中可以使用 鏡像ID、鏡像名作為鏡像的唯一標(biāo)識用來刪除鏡像。常用的[選項]是?-f
?表示強制刪除,有的時候同一個鏡像上傳到多個倉庫,此時鏡像ID就不再是唯一標(biāo)識,需要使用?-f
?強制刪除才能刪除鏡像(具有同一個鏡像ID的所有本地鏡像全部刪除)。
需要注意的是:刪除鏡像之前必須確認(rèn)被刪除的鏡像,沒有被任何容器使用,否則無法刪除。
如下所示,刪除hello-world鏡像的響應(yīng)結(jié)果。
# docker rmi hello-world Untagged: hello-world:latest Untagged: hello-world@sha256:bfea6278a0a267fad2634554f4f0c6f31981eea41c553fdf5a83e95a41d40c38 Deleted: sha256:feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412 Deleted: sha256:e07ee1baac5fae6a26f30cabfe54a36d3402f96afda318fe0a96cec4ca393359
八、鏡像的導(dǎo)入導(dǎo)出
用 save 子命令將本地倉庫的鏡像保存為當(dāng)前目錄下的tar文件。
docker save -o <自定義包名>.tar <鏡像名稱>
如下面的命令將 hello-world鏡像導(dǎo)出為一個helloworld.tar存放在當(dāng)前目錄
docker save -o helloworld.tar hello-world
我們可以在另一臺服務(wù)器上,將hello-world鏡像導(dǎo)入,導(dǎo)入方法如下:
導(dǎo)入方式一(不輸出詳細(xì)信息):
# docker load -i helloworld.tar
導(dǎo)入方式二(輸出詳細(xì)信息):
# docker load < helloworld.tar
鏡像導(dǎo)出導(dǎo)入功能可以用于鏡像備份,在沒有鏡像倉庫的公司中也可以使用這種tar包的方式傳遞鏡像文件。
原文鏈接:https://www.cnblogs.com/zimug/p/16468728.html
相關(guān)推薦
- 2022-06-22 關(guān)于Metalama使用Fabric操作項目或命名空間的問題_實用技巧
- 2022-08-30 C語言示例講解結(jié)構(gòu)體的聲明與初始化方法_C 語言
- 2022-11-20 RC4加密關(guān)鍵變量及算法特點原理詳解_腳本加解密
- 2022-05-24 C#多線程TPL模式下使用HttpClient_C#教程
- 2023-05-20 openGauss數(shù)據(jù)庫共享存儲特性概述_數(shù)據(jù)庫其它
- 2022-02-26 小程序使用AntV F2自定義圖表和legend交互
- 2022-09-25 CSS-解決因子元素浮動引起的父元素高度塌陷問題
- 2022-10-27 React狀態(tài)管理Redux原理與介紹_React
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支