docker鏡像的拉取登陸上傳及保存等相關(guān)使用命令
docker 中的三大基本概念
鏡像
鏡像就是啟動(dòng)一個(gè)容器的模板。
容器
容器就是對(duì)外提供服務(wù)的進(jìn)程。或者容器就是鏡像啟動(dòng)起來(lái)的一個(gè)實(shí)例。
倉(cāng)庫(kù)
倉(cāng)庫(kù)是用來(lái)存放鏡像的地方。
docker 鏡像相關(guān)命令
常用鏡像倉(cāng)庫(kù)
官方倉(cāng)庫(kù):hub.docker.com
自己的私有倉(cāng)庫(kù):Harbor
阿里云私有倉(cāng)庫(kù):registry.cn-hangzhou.aliyuncs.com
搜索鏡像
#格式 docker search [鏡像名稱(chēng)] # 實(shí)例
拉取鏡像
# 格式 docker pull [鏡像名稱(chēng)] # 實(shí)例 [root@Centos7 ~]# docker pull redis Using default tag: latest latest: Pulling from library/redis # 鏡像層 a076a628af6f: Already exists f40dd07fe7be: Pull complete ce21c8a3dbee: Pull complete ee99c35818f8: Pull complete 56b9a72e68ff: Pull complete 3f703e7f380f: Pull complete # 鏡像ID號(hào)(鏡像ID號(hào)是全球唯一) Digest: sha256:0f97c1c9daf5b69b93390ccbe8d3e2971617ec4801fd0882c72bf7cad3a13494 # 鏡像下載狀態(tài) Status: Downloaded newer image for redis:latest # 鏡像的全稱(chēng)(鏡像的tag) docker.io/library/redis:latest
查看當(dāng)前系統(tǒng)上的有哪些鏡像
# 格式 docker images 或者 docker image ls # 參數(shù) -q : 只顯示鏡像ID [root@Centos7 ~]# docker images -q 621ceef7494a f6d0b4767a6c
獲取鏡像的詳細(xì)信息
# 格式 docker inspect [鏡像名稱(chēng)或鏡像ID] # 參數(shù) -f : 格式化輸出 [root@Centos7 ~]# docker inspect -f '{{.Id}}' 621ceef7494a sha256:621ceef7494adfcbe0e523593639f6625795cc0dc91a750629367a8c7b3ccebb [root@Centos7 ~]# docker inspect -f '{{.ContainerConfig.Hostname}}' redis 16535cfaf84a
登錄鏡像倉(cāng)庫(kù)
# 格式 docker login 注: 默認(rèn)情況下,docker login登錄的是官方倉(cāng)庫(kù),如果登錄其他鏡像倉(cāng)庫(kù)則需要指定鏡像倉(cāng)庫(kù)的URL連接。 # 實(shí)例 [root@Centos7 ~]# docker login registry.cn-hangzhou.aliyuncs.com Username: yangyang091022 Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded [root@Centos7 ~]# cat ~/.docker/config.json { "auths": { "registry.cn-hangzhou.aliyuncs.com": { "auth": "eWFuZ3lhbmcwOTEwMjI6Y2hlbjE4NzkwMDcwODMw" } } } # 參數(shù) --username|-u : 指定用戶(hù)名 --password|-p : 指定密碼
為鏡像標(biāo)簽
# 鏡像標(biāo)簽的構(gòu)成 docker.io/library/redis:latest docker.io : 鏡像倉(cāng)庫(kù)的URL library :鏡像倉(cāng)庫(kù)命名空間 redis : 鏡像名稱(chēng) latest : 鏡像版本號(hào) # 打標(biāo)簽 # 格式 docker tag [鏡像ID] 鏡像標(biāo)簽 [root@Centos7 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE redis latest 621ceef7494a 2 months ago 104MB nginx latest f6d0b4767a6c 2 months ago 133MB [root@Centos7 ~]# docker tag 621ceef7494a registry.cn-hangzhou.aliyuncs.com/alvinos/redis:v2 [root@Centos7 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE redis latest 621ceef7494a 2 months ago 104MB registry.cn-hangzhou.aliyuncs.com/alvinos/redis v2 621ceef7494a 2 months ago 104MB nginx latest f6d0b4767a6c 2 months ago 133MB
鏡像上傳
# 格式 docker push [鏡像標(biāo)簽] # 注:要想上傳鏡像,首先得登錄鏡像倉(cāng)庫(kù),其次設(shè)置對(duì)應(yīng)鏡像倉(cāng)庫(kù)的tag [root@Centos7 ~]# docker push registry.cn-hangzhou.aliyuncs.com/alvinos/redis:v2 The push refers to repository [registry.cn-hangzhou.aliyuncs.com/alvinos/redis] 3480f9cdd491: Pushed a24a292d0184: Pushed f927192cc30c: Pushed 1450b8f0019c: Pushed 8e14cb7841fa: Pushed cb42413394c4: Pushed v2: digest: sha256:7ef832c720188ac7898dbd8d1e237b0738e94f94fc7e981cb7b8efe84555e892 size: 1572
鏡像的刪除
# 格式 docker rmi [鏡像名稱(chēng)或者鏡像ID] # 實(shí)例 [root@Centos7 ~]# docker rmi nginx # 參數(shù) -f : 強(qiáng)制刪除 [root@Centos7 ~]# docker rmi -f nginx Untagged: nginx:latest Untagged: nginx@sha256:10b8cc432d56da8b61b070f4c7d2543a9ed17c2b23010b43af434fd40e2ca4aa # 注:當(dāng)有容器正在使用鏡像時(shí),強(qiáng)制刪除鏡像,只能刪除鏡像的所有tag, 不會(huì)刪除鏡像。
清空鏡像
# 格式 docker image prune # 實(shí)例 [root@Centos7 ~]# docker image prune WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N] y Total reclaimed space: 0B # 參數(shù) -a : 刪除所有鏡像 [root@Centos7 ~]# docker image prune -a WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? [y/N] y Deleted Images: untagged: redis:latest untagged: redis@sha256:0f97c1c9daf5b69b93390ccbe8d3e2971617ec4801fd0882c72bf7cad3a13494 untagged: registry.cn-hangzhou.aliyuncs.com/alvinos/redis:v2 untagged: registry.cn-hangzhou.aliyuncs.com/alvinos/redis@sha256:7ef832c720188ac7898dbd8d1e237b0738e94f94fc7e981cb7b8efe84555e892 deleted: sha256:621ceef7494adfcbe0e523593639f6625795cc0dc91a750629367a8c7b3ccebb deleted: sha256:de66cfbf4712b8ba9ef292e08ef7487be26d9d21b350548e400ae351405d820e deleted: sha256:79b2381e35429e8fc04d31b3445f069c22d288bf5c4cba7b7c10004ff78ae201 deleted: sha256:1d047d19be363b00139990d4d7f392dabdb0809dbc9d0fbe67c1f15b8caed27a deleted: sha256:8c41f4e708c37059df28ae1cabc200a6db2fee45bd3a2cadcf70f2765bb68730 deleted: sha256:b51317bef36fe1900be48402c8a41fcd9cdb6b8950c10209f764473cb8323371 Total reclaimed space: 35.04MB [root@Centos7 ~]#
查看鏡像歷史(鏡像的構(gòu)建歷史)
# 格式 docker history [鏡像ID或鏡像名稱(chēng)] # 實(shí)例 [root@Centos7 ~]# docker history alpine IMAGE CREATED CREATED BY SIZE COMMENT 7731472c3f2a 2 months ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B <missing> 2 months ago /bin/sh -c #(nop) ADD file:edbe213ae0c825a5b… 5.61MB
保存鏡像(commit)
# 保存正在運(yùn)行的容器直接為鏡像 # 格式: docker commit [容器ID|容器名稱(chēng)] # 實(shí)例 [root@Centos7 ~]# docker commit -a "Alvin" -m "這是一個(gè)docker鏡像" -p be3b92e2886b test:v1 sha256:4a06cd2af42877b5e2908073061f7ae1bf9e308a470bdfc0c6f906ef368aaed8 [root@Centos7 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE test v1 4a06cd2af428 5 seconds ago 104MB
保存鏡像(import/export)
# 保存正在運(yùn)行的容器為鏡像壓縮包 ## 保存容器為鏡像 docker export [容器的ID] > [包名稱(chēng)] # 實(shí)例 [root@Centos7 ~]# docker export be3b92e2886b > redis.tar [root@Centos7 ~]# ll | grep redis -rw-r--r--. 1 root root 104178688 Mar 18 17:30 redis.tar ## docker import [包名稱(chēng)] [自定義鏡像名稱(chēng)] # 實(shí)例 [root@Centos7 ~]# docker import redis.tar test:v3 sha256:7776db3402fb8d59f6121a3b1977b5e7016f4064cf59218fd1b06637cb0fca87 [root@Centos7 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE test v3 7776db3402fb 6 seconds ago 101MB
保存鏡像(save/load)
# 保存鏡像為壓縮包 # 保存鏡像的格式: docker save [鏡像名稱(chēng)|鏡像ID] > [包名稱(chēng)] [root@Centos7 ~]# docker save 7731472c3f2a > apline.tar [root@Centos7 ~]# ll -rw-r--r--. 1 root root 5888000 Mar 18 17:36 apline.tar [root@Centos7 ~]# docker save -o apline-two.tar 7731472c3f2a [root@Centos7 ~]# ll total 148692 -rw-r--r--. 1 root root 5888000 Mar 18 17:36 apline.tar -rw-------. 1 root root 5888000 Mar 18 17:37 apline-two.tar # 導(dǎo)入鏡像的格式: docker load < [包名稱(chēng)] [root@Centos7 ~]# docker load < apline.tar c04d1437198b: Loading layer [========================================>] 5.88MB/5.88MB Loaded image ID: sha256:7731472c3f2a25edbb9c085c78f42ec71259f2b83485aa60648276d408865839 [root@Centos7 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> 7731472c3f2a 2 months ago 5.61MB # 注:save/load保存鏡像無(wú)法自定義鏡像名稱(chēng),save保存鏡像時(shí)如果使用ID保存則load導(dǎo)入鏡像無(wú)名稱(chēng),使用名稱(chēng)導(dǎo)入時(shí)才有名稱(chēng)。 [root@Centos7 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE busybox latest b97242f89c8a 2 months ago 1.23MB [root@Centos7 ~]# docker save busybox:latest > busybox.tar [root@Centos7 ~]# ll total 150120 -rw-r--r--. 1 root root 1459200 Mar 18 17:43 busybox.tar [root@Centos7 ~]# docker rmi b97242f89c8a Untagged: busybox:latest Untagged: busybox@sha256:c5439d7db88ab5423999530349d327b04279ad3161d7596d2126dfb5b02bfd1f Deleted: sha256:b97242f89c8a29d13aea12843a08441a4bbfc33528f55b60366c1d8f6923d0d4 Deleted: sha256:0064d0478d0060343cb2888ff3e91e718f0bffe9994162e8a4b310adb2a5ff74 [root@Centos7 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE [root@Centos7 ~]# docker load < busybox.tar 0064d0478d00: Loading layer [==================================================>] 1.45MB/1.45MB Loaded image: busybox:latest [root@Centos7 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE busybox latest b97242f89c8a 2 months ago 1.23MB
保存鏡像三種方式的區(qū)別
1、export保存的鏡像體積要小于save(save保存更完全,export保存會(huì)丟掉一些不必要的數(shù)據(jù))
2、export可以重命名鏡像名稱(chēng)而save則不行
3、save可以同時(shí)保存多個(gè)鏡像而export則不行
以上就是docker鏡像的拉取登陸上傳及保存等相關(guān)使用命令的詳細(xì)內(nèi)容,更多關(guān)于docker鏡像拉取登陸上傳保存等使用命令的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項(xiàng)目的詳細(xì)教程
這篇文章主要介紹了IDEA連接遠(yuǎn)程服務(wù)器Docker部署Spring Boot項(xiàng)目,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06如何刪除docker-register鏡像及none無(wú)效鏡像詳解
這篇文章主要給大家介紹了關(guān)于如何刪除docker-register鏡像及none無(wú)效鏡像的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09Docker配置本地倉(cāng)庫(kù)web訪問(wèn)的實(shí)現(xiàn)
本文主要介紹了Docker配置本地倉(cāng)庫(kù)web訪問(wèn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06docker容器源碼部署httpd用存儲(chǔ)卷部署網(wǎng)站(推薦)
這篇文章主要介紹了docker容器源碼部署httpd用存儲(chǔ)卷部署網(wǎng)站,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12Mac OSX系統(tǒng) Docker啟用Docker遠(yuǎn)程API功能
這篇文章主要介紹了Mac OSX系統(tǒng) Docker啟用Docker遠(yuǎn)程API功能的相關(guān)資料,需要的朋友可以參考下2016-10-10詳解java項(xiàng)目打包docker鏡像的幾種方式
本文主要介紹了詳解java項(xiàng)目打包docker鏡像的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01docker容器間互相訪問(wèn)(docker bridge網(wǎng)絡(luò))
本文主要介紹了docker容器間互相訪問(wèn)(docker bridge網(wǎng)絡(luò)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01