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

一、前言

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

### 如何在 Windows 系统中执行 Docker 登录命令 要在 Windows 系统中成功执行 `docker login` 命令,需先确认已正确安装并配置好 Docker 环境。以下是关于此过程的关键说明: #### 1. 安装 Docker Desktop 为了在 Windows 上运行 Docker,通常推荐使用 **Docker Desktop** 工具[^2]。该工具支持 Windows 平台上的容器化环境,并提供了图形界面以及 CLI 接口。 确保已经完成以下步骤: - 启用了硬件虚拟化功能(通过 BIOS 设置)。 - 下载并安装最新版本的 Docker Desktop 应用程序。 - 配置 WSL 2 (Windows Subsystem for Linux) 或 Hyper-V 支持作为后端引擎。 #### 2. 执行 docker login 命令 当 Docker 正常启动之后,在 PowerShell 或者 CMD 终端窗口输入如下命令来实现登录到指定镜像仓库的操作: ```bash docker login [OPTIONS] [SERVER] ``` 其中 `[SERVER]` 参数表示目标注册表地址,默认情况下指向官方公共库 https://index.docker.io/v1/ 。如果要连接私有企业级存储,则替换为此处对应的域名或者 IP 地址[^1]。 例如尝试访问默认公有服务时只需键入简单的形式即可: ```bash docker login ``` 此时会提示用户提供用户名和密码用于身份验证流程;另外还可以附加额外选项比如设置 API 版本号(--api-version),定义自定义路径文件夹(-c/--config),或是直接传递认证凭据而非交互式询问(-u / --username 和-p /--password)。 注意安全因素考虑建议明文方式提交敏感数据,因此更倾向于采用非显示模式录入信息。 --- ### 示例代码展示 下面给出一段完整的脚本例子供参考学习之用: ```powershell # 开始登陆过程 docker login -u "your_username" -p "your_password" # 如果涉及特定服务器则加上参数 docker login my-private-repo.example.com -u "corp_user" -p "secure_pwd" ``` 以上即完成了基本的身份校验环节准备动作以便后续推送拉取资源等工作顺利开展下去。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值