看完本文可以幫助你:
docker pull 錯誤 net/http: TLS handshake timeout 的解決方案
倉庫推鏡像/拉鏡像操作實踐流程
登錄虛擬機,進入root用戶
1、登錄docker hub賬戶:
docker login
輸入用戶名和密碼回車,如果登錄失敗,多試幾次
2、查看本定鏡像
docker imags
3、添加索影
docker tag 源鏡像 目標用戶名/目標鏡像名
查看是否tag成功
4、開始上傳至倉庫
docker push zhaoxc/music-java
發現比較慢,過了好大一會了,還是失敗,報了一對錯,由於該命令默認從docker遠端鏡像倉庫中拉取鏡像,但由於遠端倉庫的服務器是在國外,我們國內有的用戶很可能都訪問不了。
解決辦法:
使用國內鏡像 daocloud鏡像加速器
該方法需要配置加速器的鏡像地址爲 register.mirror
Linux中使用命令
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d1d9aef0.m.daocloud.io
該腳本可以將 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。適用於 Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,其他版本可能有細微不同
Windows中中操作
在桌面右下角狀態欄中右鍵 docker 圖標,修改在 Docker Daemon 標籤頁中的 json ,把下面的地址:http://d1d9aef0.m.daocloud.io
加入到"registry-mirrors"的數組裏。點擊 Apply 。
MacOS中
右鍵點擊桌面頂欄的 docker 圖標,選擇 Preferences ,在 Daemon 標籤(Docker 17.03 之前版本爲 Advanced 標籤)下的 Registry mirrors 列表中加入下面的鏡像地址:http://d1d9aef0.m.daocloud.io
點擊 Apply & Restart 按鈕使設置生效。
我是在centos7上操作,所以執行如下命令:
重啓docker服務
systemctl restart docker
重新執行命令上傳鏡像至倉庫
終於成功了。
5、查看是否上傳成功
登錄網頁https://hub.docker.com/repositories
看到如上說明試上傳成功了。
6、下載鏡像驗證
刪除本地鏡像
docker rmi zhaoxc/music-java -f
拉取鏡像,並查看是否下載成功
docker pull zhaoxc/music-java
更多參考dacloud官網:https://www.daocloud.io/mirror#accelerator-doc
啓動容器,驗證功能是否能用,這裏不多介紹,如果需要獲取源碼,請留言。
謝謝您的閱讀,如果對您有幫助,麻煩點個贊。