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

打印 上一主题 下一主题

主题 899|帖子 899|积分 2697

一、媒介

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

1. 搜刮容器镜像服务

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

2. 开通容器镜像服务

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

3. 选择个人实例

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

4. 创建镜像堆栈

按照提示创建新的镜像堆栈。


选择本地堆栈并填写相干信息。

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

点进去查看详情。

这内里就有操纵指南,然后根据指南就可以举行操纵。
三、配置Docker

   修改 Docker 的配置文件 /etc/docker/daemon.json,以便支持阿里云镜像服务。
  1. sudo vim /etc/docker/daemon.json
复制代码
  1.   1 {                                                                                                                                          
  2.   2   "registry-mirrors": [
  3.   3     "https://docker.hpcloud.cloud",
  4.   4     "https://docker.m.daocloud.io",
  5.   5     "https://docker.unsee.tech",
  6.   6     "https://docker.1panel.live",
  7.   7     "http://mirrors.ustc.edu.cn",
  8.   8     "https://docker.chenby.cn",
  9.   9     "http://mirror.azure.cn",
  10. 10     "https://dockerpull.org",
  11. 11     "https://dockerhub.icu",
  12. 12     "https://hub.rat.dev",
  13. 13     "https://registry.cn-hangzhou.aliyuncs.com"
  14. 14   ],
  15. 15   "data-root":"/data/var/lib/docker"
  16. 16
  17. 17 }
复制代码
  registry-mirrors 中最后一个配置是阿里云的镜像源。
data-root 配置 Docker 拉取镜像时的存储路径(可根据须要修改)。
生存后重启 Docker 服务:
  1. sudo systemctl restart docker
复制代码
四、操纵镜像

   我们举行演示,如何pull和push。
  1. 登录阿里云镜像堆栈

   根据阿里云操纵指南登录镜像堆栈,留意普通用户须要使用 sudo 权限。 留意这里假如是普通用户,一定要sudo,不然push的时候权限不够。这个就是阿里云操纵指南的第一个登录阿里云。名字根据自己的举行修改。
之后输入密码,密码就是创建容器镜像的时候设置的密码。
  1. sudo docker login --username=aliyun名字 crpi-ojvnoquos46hz0vo.cn-hangzhou.personal.cr.aliyuncs.com
复制代码
成功登录后会提示:
  1. Login Succeeded
复制代码

2. 拉取镜像

   从 Docker Hub 下载镜像,我们选择的是nginx 1.22.0来举行演示
  1. sudo docker pull nginx:1.22.0
复制代码
拉取完成后可以通过 docker images 查看镜像。
  1. sudo docker images
复制代码

3. 推送镜像

将拉取下来的镜像推送到阿里云镜像堆栈。
   给镜像打标签:标签有对应格式。对应的版本号是自己取的,根据自己的爱好来取。
  1. 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
  1. sudo docker images
复制代码

之后就可以推送到堆栈了。
4. 推送到阿里云镜像堆栈:

   根据自己打的标签修改对应的指令。就是sudo docker push 标签
  1. sudo docker push crpi-ojvnoquos46hz0vo.cn-hangzhou.personal.cr.aliyuncs.com/dijia1/mytest:
  2. 1.22.0
复制代码

等待提交完成。

在阿里云容器镜像服务中检查是否推送成功。


可以看到提交成功。
五、 拉取阿里云镜像堆栈的镜像

1. 删除本地镜像:

  1. sudo docker rmi crpi-ojvnoquos46hz0vo.cn-hangzhou.personal.cr.aliyuncs.com/dijia1/mytest:1.22.0
复制代码

  1. sudo docker images
复制代码

2. 拉取镜像:

  1. 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的源。

测试一下这个。
  1. sudo docker pull nginx:1.27.3-alpine
复制代码
等待30s左右,可以看到下载成功。


七、退出登录。

  1. sudo  docker logout
复制代码

八、总结

通过阿里云容器镜像服务,可以快速解决国内访问 Docker Hub 速率慢以致无法访问的问题,并支持镜像的上传与管理。此外,联合阿里云镜像服务,可以实现更高效的镜像管理。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表