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

 更新时间:2025年02月07日 10:15:45   作者:ღ 噫吁嚱  
这篇文章主要介绍了如何使用阿里云容器镜像服务来解决国内访问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无法登录与推送内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于jib-maven-plugin插件快速构建微服务docker镜像的方法

    基于jib-maven-plugin插件快速构建微服务docker镜像的方法

    这篇文章主要介绍了基于jib-maven-plugin快速构建微服务docker镜像的方法,对于 Java 程序来说使用 jib-maven-plugin 插件来构建镜像还是非常方便的,本文通过实例代码详细讲解,需要的朋友可以参考下
    2023-02-02
  • 创建的docker容器时间显示错误/date错误/时区错误

    创建的docker容器时间显示错误/date错误/时区错误

    这篇文章主要介绍了创建的docker容器时间显示错误/date错误/时区错误的处理方法,一起看看吧
    2017-06-06
  • 在Docker容器中部署Django的时区问题

    在Docker容器中部署Django的时区问题

    本文主要介绍了在Docker容器中部署Django的时区问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • docker实现导出、导入和数据搬迁

    docker实现导出、导入和数据搬迁

    本篇文章主要介绍了docker实现导出、导入和数据搬迁,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Docker镜像用普通用户启动服务的实现

    Docker镜像用普通用户启动服务的实现

    使用普通用户启动Docker容器中的服务,可以有效降低潜在的安全风险,本文主要介绍了Docker镜像用普通用户启动服务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • Docker的安装与配置命令代码实例

    Docker的安装与配置命令代码实例

    这篇文章主要介绍了Docker的安装与配置命令代码实例,这是docker的基础知识点,有正在学习docker的同学可以研究下
    2021-03-03
  • Dockerfile中CMD和ENTRYPOINT命令详解

    Dockerfile中CMD和ENTRYPOINT命令详解

    Dockerfile中的ENTRYPOINT指令和CMD指令都可以设置容器启动时要执行的命令,但用途是有略微不同的。下面这篇文章主要给大家介绍了关于Dockerfile中CMD和ENTRYPOINT命令的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-03-03
  • Docker容器间通信与外网通信的操作

    Docker容器间通信与外网通信的操作

    这篇文章主要介绍了Docker容器间通信与外网通信的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker容器运行后退出(怎么才能一直运行)

    docker容器运行后退出(怎么才能一直运行)

    这篇文章主要介绍了docker容器运行后退出(怎么才能一直运行),本文详细的介绍了解决方法,非常具有实用价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Docker Gitlab+Jenkins+Harbor构建持久化平台操作

    Docker Gitlab+Jenkins+Harbor构建持久化平台操作

    这篇文章主要介绍了Docker Gitlab+Jenkins+Harbor构建持久化平台操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论