docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker无法登录与推送

Docker无法登录与推送问题解决的详细教程

作者:ღ 噫吁嚱

这篇文章主要介绍了如何使用阿里云容器镜像服务来解决国内访问Docker Hub速度慢的问题,并详细描述了如何设置阿里云镜像服务、配置Docker、操作镜像(包括pull和push)以及测试拉取镜像的过程,需要的朋友可以参考下

一、前言

自从 2023 年 5 月中旬以来,著名的 Docker 容器平台 hub.docker.com 因不明原因在国内无法正常访问。为了更好地使用 Docker 服务,阿里云提供了容器镜像服务,下面介绍如何使用阿里云容器镜像服务进行操作。

二、阿里云镜像服务设置

1. 搜索容器镜像服务

在阿里云官网搜索并进入容器镜像服务页面。

2. 开通容器镜像服务

点击“立即开通”,开始创建镜像服务实例,个人版是免费的。

3. 选择个人实例

选择个人实例后,进入镜像仓库设置页面。

4. 创建镜像仓库

按照提示创建新的镜像仓库。

选择本地仓库并填写相关信息。

创建完成后,在界面中可以看到仓库的基本信息。

点进去查看详情。

这里面就有操作指南,然后根据指南就可以进行操作。

三、配置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的时候权限不够。这个就是阿里云操作指南的第一个登录阿里云。名字根据自己的进行修改。
之后输入密码,密码就是创建容器镜像的时候设置的密码。

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 速度慢甚至无法访问的问题,并支持镜像的上传与管理。此外,结合阿里云镜像服务,可以实现更高效的镜像管理。

到此这篇关于Docker无法登录与推送问题解决的文章就介绍到这了,更多相关Docker无法登录与推送内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文