Docker無法登錄與推送問題解決的詳細教程
一、前言
自從 2023 年 5 月中旬以來,著名的 Docker 容器平臺 hub.docker.com 因不明原因在國內無法正常訪問。為了更好地使用 Docker 服務,阿里云提供了容器鏡像服務,下面介紹如何使用阿里云容器鏡像服務進行操作。
二、阿里云鏡像服務設置
1. 搜索容器鏡像服務
在阿里云官網搜索并進入容器鏡像服務頁面。

2. 開通容器鏡像服務
點擊“立即開通”,開始創(chuàng)建鏡像服務實例,個人版是免費的。

3. 選擇個人實例
選擇個人實例后,進入鏡像倉庫設置頁面。

4. 創(chuàng)建鏡像倉庫
按照提示創(chuàng)建新的鏡像倉庫。


選擇本地倉庫并填寫相關信息。

創(chuàng)建完成后,在界面中可以看到倉庫的基本信息。

點進去查看詳情。

這里面就有操作指南,然后根據指南就可以進行操作。
三、配置Docker
修改 Docker 的配置文件 /etc/docker/daemon.json,以便支持阿里云鏡像服務。
sudo vim /etc/docker/daemon.json
1 {
2 "registry-mirrors": [
3 "https://docker.hpcloud.cloud",
4 "https://docker.m.daocloud.io",
5 "https://docker.unsee.tech",
6 "https://docker.1panel.live",
7 "http://mirrors.ustc.edu.cn",
8 "https://docker.chenby.cn",
9 "http://mirror.azure.cn",
10 "https://dockerpull.org",
11 "https://dockerhub.icu",
12 "https://hub.rat.dev",
13 "https://registry.cn-hangzhou.aliyuncs.com"
14 ],
15 "data-root":"/data/var/lib/docker"
16
17 }
registry-mirrors 中最后一個配置是阿里云的鏡像源。
data-root 配置 Docker 拉取鏡像時的存儲路徑(可根據需要修改)。
保存后重啟 Docker 服務:
sudo systemctl restart docker
四、操作鏡像
我們進行演示,如何pull和push。
1. 登錄阿里云鏡像倉庫
根據阿里云操作指南登錄鏡像倉庫,注意普通用戶需要使用 sudo 權限。 注意這里如果是普通用戶,一定要sudo,不然push的時候權限不夠。這個就是阿里云操作指南的第一個登錄阿里云。名字根據自己的進行修改。
之后輸入密碼,密碼就是創(chuàng)建容器鏡像的時候設置的密碼。
sudo docker login --username=aliyun名字 crpi-ojvnoquos46hz0vo.cn-hangzhou.personal.cr.aliyuncs.com
成功登錄后會提示:
Login Succeeded

2. 拉取鏡像
從 Docker Hub 下載鏡像,我們選擇的是nginx 1.22.0來進行演示
sudo docker pull nginx:1.22.0
拉取完成后可以通過 docker images 查看鏡像。
sudo docker images

3. 推送鏡像
將拉取下來的鏡像推送到阿里云鏡像倉庫。
給鏡像打標簽:標簽有對應格式。對應的版本號是自己取的,根據自己的愛好來取。
sudo docker tag nginx:1.22.0 crpi-ojvnoquos46hz0vo.cn-hangzhou.personal.cr.aliyuncs.com/dijia1/mytest:1.22.0
倉庫地址:crpi-ojvnoquos46hz0vo.cn-hangzhou.personal.cr.aliyuncs.com
命名空間:dijia1
倉庫名稱:mytest
鏡像版本號:1.22.0
查看images
sudo docker images

之后就可以推送到倉庫了。
4. 推送到阿里云鏡像倉庫:
根據自己打的標簽修改對應的指令。就是sudo docker push 標簽
sudo docker push crpi-ojvnoquos46hz0vo.cn-hangzhou.personal.cr.aliyuncs.com/dijia1/mytest: 1.22.0

等待提交完成。

在阿里云容器鏡像服務中檢查是否推送成功。


可以看到提交成功。
五、 拉取阿里云鏡像倉庫的鏡像
1. 刪除本地鏡像:
sudo docker rmi crpi-ojvnoquos46hz0vo.cn-hangzhou.personal.cr.aliyuncs.com/dijia1/mytest:1.22.0

sudo docker images

2. 拉取鏡像:
sudo docker pull crpi-ojvnoquos46hz0vo.cn-hangzhou.personal.cr.aliyuncs.com/dijia1/mytest:1.22.0

可以看到,拉取成功。

這里就完成了基本的docker login,docker push,docker pull操作了。
六、測試拉取 Docker Hub 鏡像
我們再試試拉取DockerHub的源。

測試一下這個。
sudo docker pull nginx:1.27.3-alpine
等待30s左右,可以看到下載成功。


七、退出登錄。
sudo docker logout

八、總結
通過阿里云容器鏡像服務,可以快速解決國內訪問 Docker Hub 速度慢甚至無法訪問的問題,并支持鏡像的上傳與管理。此外,結合阿里云鏡像服務,可以實現(xiàn)更高效的鏡像管理。
到此這篇關于Docker無法登錄與推送問題解決的文章就介紹到這了,更多相關Docker無法登錄與推送內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
docker 部署prometheus+grafana的過程詳解
這篇文章主要介紹了docker 部署prometheus+grafana的過程,本文通過示例圖文相結合給大家介紹的非常詳細,需要的朋友可以參考下2024-03-03
關于docker清理Overlay2占用磁盤空間的問題(親測有效)
使用Docker過程中,長時間運行服務容器,導致不能進行上傳文件等操作,今天通過本文給大家詳細介紹下docker清理Overlay2占用磁盤空間的相關知識,感興趣的朋友一起看看吧2022-03-03
基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控功能[附完整源碼下載]
Docker 是一個開源的應用容器引擎,和傳統(tǒng)的虛擬機技術相比,Docker 容器性能開銷極低,因此也廣受開發(fā)者喜愛。這篇文章主要介紹了基于spring-boot和docker-java實現(xiàn)對docker容器的動態(tài)管理和監(jiān)控 ,需要的朋友可以參考下2019-06-06

