摘要:默認運行獲取鏡像時,其倉庫地址為,執行有完整鏡像名稱格式為。由于主機沒法訪問外網,則報錯退出。
默認運行docker pull獲取鏡像時,其倉庫地址為docker.io,執行docker info有:
% docker info ... Registry: https://index.docker.io/v1/ Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false Registries: docker.io (secure)
完整鏡像名稱格式為
鏡像提供了完整主機名稱,則docker從此鏡像庫下載鏡像,如從quay.io鏡像庫的coreos項目下載etcd:latest鏡像:
% docker pull quay.io/coreos/etcd
若省略了hostname,則默認從docker.io下載鏡像,而若省略project,其會補充project為library:
% docker pull library/debian Using default tag: latest Trying to pull repository docker.io/library/debian % docker pull debian # 未明確指定project,從docker.io下載時默認補充library/Using default tag: latest Trying to pull repository docker.io/library/debian
若沒有提供hostname,則下載鏡像順序從Registries列表獲取,但默認只有docker.io,可調整順序,如:
% vi /etc/sysconfig/docker ADD_REGISTRY="--add-registry okd-lr.zyl.io:5000 --add-registry quay.io" INSECURE_REGISTRY="--insecure-registry okd-lr.zyl.io:5000" # 鏡像庫若是非TLS,則必須添加此參數
此時docker info顯示如下:
Registry: https://okd-lr.zyl.io:5000/v1/ # 這里沒啥用 Experimental: false Insecure Registries: okd-lr.zyl.io:5000 # 非安全鏡像庫 127.0.0.0/8 Live Restore Enabled: false # 由ADD_REGISTRY添加了2個鏡像庫 Registries: okd-lr.zyl.io:5000 (insecure), quay.io (secure), docker.io (secure)
若此時下載鏡像,則順序遍歷Registries列出的鏡像庫:
% docker pull etcd Using default tag: latest Trying to pull repository okd-lr.zyl.io:5000/etcd ... Trying to pull repository quay.io/etcd ... Trying to pull repository docker.io/library/etcd ... Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 134.194.18.2:53: read udp 134.194.18.3:45004->134.194.18.2:53: i/o timeout
如上所示,docker順序遍歷了3個鏡像庫,而在前兩個鏡像庫沒找到后,從docker.io鏡像庫查找,此時其會添加library項目,而其他的鏡像庫地址不會添加。由于主機沒法訪問外網,則報錯退出。
若okd-lr.zyl.io:5000私有鏡像庫配置為docker.io的mirror,如配置了REGISTRY_PROXY_REMOTEURL:
% cat /etc/systemd/system/local-registry.service [Unit] Description=Local Docker Mirror registry cache Requires=docker.service After=docker.service # HTTP_PROXY、HTTPS_PROXY替換為實際代理 # NO_PROXY配置不走代理的IP地址,如示例192.168.10.x為宿主機IP地址 [Service] ExecStartPre=-/usr/bin/docker rm -f local-registry ExecStart=/usr/bin/docker run --name %p -v /data/local-registry:/var/lib/registry -e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/var/lib/registry -e REGISTRY_PROXY_REMOTEURL=https://registry.docker-cn.com -e HTTP_PROXY=http://: -e HTTPS_PROXY=http:// : -e NO_PROXY="localhost,127.0.0.1,.cluster.local,.svc,.zyl.io,172.30.0.1,192.168.10.3,192.168.10.4" -p 5000:5000 registry ExecStop=-/usr/bin/docker stop -t 2 %p Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
此時配置--registry-mirror,如:
vi /etc/sysconfig/docker OPTIONS="--registry-mirror=http://okd-lr.zyl.io:5000 --selinux-enabled --log-driver=journald --signature-verification=false" ADD_REGISTRY="--add-registry okd-lr.zyl.io:5000 --add-registry quay.io" INSECURE_REGISTRY="--insecure-registry okd-lr.zyl.io:5000"
此時執行docker pull debian下載鏡像,有:
搜索okd-lr.zyl.io:5000/debian,若上面有則返回,否則搜索下一個鏡像庫;
搜索quay.io/debian,若成功則返回,否則繼續搜索;
搜索docker.io/library/debian,因配置了registry-mirror,其將從此代理鏡像庫獲取鏡像,若代理鏡像庫中有,則直接返回,否則其先抓取鏡像后再返回;
注意:
registry-mirror只會代理docker.io默認鏡像庫的鏡像,其他鏡像庫不會代理;
mirror鏡像庫支持的代理操作,即push/pull均會代理到docker.io上;
mirror鏡像庫若是非TLS配置,若要通過此mirror push到docker.io,需配置INSECURE_REGISTRY;
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27937.html
摘要:鏡像加速國內有非常多的鏡像倉庫,本文介紹使用阿里云的,后文我們也會介紹把自己的鏡像上傳到阿里云,并且該服務是免費的。訪問這個地址如果沒有阿里云賬號的就自己注冊一個。最好還是用國內的速度比較快,這里介紹阿里云的。 showImg(https://xings.oss-cn-shanghai.aliyuncs.com/image/docker/dockers.png); Docker 的前世...
摘要:分鐘快速入門教程一歡迎來到世界與虛擬化在沒有的時代,我們會使用硬件虛擬化虛擬機以提供隔離。倉庫分為公開倉庫和私有倉庫,最大的公開倉庫是官方倉庫,國內的公開倉庫也有很多選擇,例如阿里云等。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 歡迎關注公眾號:「服務端思維」。一群同頻者,一起成長,一起精進,打破認知的局限性。 30 分鐘快速入門 Docker 教程...
摘要:分鐘快速入門教程一歡迎來到世界與虛擬化在沒有的時代,我們會使用硬件虛擬化虛擬機以提供隔離。倉庫分為公開倉庫和私有倉庫,最大的公開倉庫是官方倉庫,國內的公開倉庫也有很多選擇,例如阿里云等。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 歡迎關注公眾號:「服務端思維」。一群同頻者,一起成長,一起精進,打破認知的局限性。 30 分鐘快速入門 Docker 教程...
摘要:簡單來說是鏡像的源碼。例如,的鏡像鏡像,在中是一個基礎鏡像的鏡像也是鏡像那么鏡像和共享同一個基礎鏡像層,提高了存儲效率。 前言 只有光頭才能變強。 文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y showImg(https://segmentfault.com/img/remote/14600000180560...
摘要:在不存在的情況下,命令行下上去的會為我們創建為私有庫,然而通過瀏覽器創建的默認為公共庫。從啟動一個命令首先會從特定的創之上一層可寫的,然后通過命令來啟動它。下文繼續專題常用管理命令下參考中文指南翻譯從入門到實踐基礎與高級原文鏈接地址 本文只記錄docker命令在大部分情境下的使用,如果想了解每一個選項的細節,請參考官方文檔,這里只作為自己以后的備忘記錄下來。 根據自己的理解,總的來說...
閱讀 1655·2021-09-26 09:55
閱讀 5248·2021-09-22 15:40
閱讀 2013·2019-08-30 15:53
閱讀 1497·2019-08-30 11:15
閱讀 1714·2019-08-29 15:41
閱讀 1869·2019-08-28 18:13
閱讀 3146·2019-08-26 12:00
閱讀 1668·2019-08-26 10:30