「实用」使用阿里云的镜像仓库存储自己的镜像
小明 Lv8

一个免费版的镜像仓库值得你拥有。

背景

最近有在搭建自己喜欢的小玩意,而且为了方便维护迁移,因此需要一个好的平台托管,知名的是DockerHub,但是今天,咱们眼光放在国内——我使用的阿里云容器Hub。

介绍

其实阿里云的官方文档说的很清楚了,我在这里给大家做一些介绍和总结。

阿里云这个仓库,个人版是完全免费的,但是有一定的数量限制,如下图所示,但是目前来看,是完全能够满足我们开发者自身需求。当然如果你有更大的需求,可以升级为企业版。
仓库概览
我们在配置仓库、命名空间后就可以正常使用啦。

使用

  1. 登录阿里云Docker Registry
1
$ docker login --username=[你的名字] registry.cn-shanghai.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在访问凭证页面修改凭证密码。

  1. 从Registry中拉取镜像
1
$ docker pull registry.cn-shanghai.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号]
  1. 将镜像推送到Registry

将现有的容器创建一个新镜像,首先还是登录

1
$ docker login --username=[你的名字] registry.cn-shanghai.aliyuncs.com

然后将现有容器提交为一个新的镜像

1
$ docker commit [containerId] [镜像名:镜像版本号]

为了方便版本管理,我们可以给该镜像打一个tag:

1
$ docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号]

推送到远端:

1
$ docker push registry.cn-shanghai.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号]

请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。

  1. 选择合适的镜像仓库地址

从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。

如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-shanghai.aliyuncs.com 作为Registry的域名登录。注意:登录的时候就需要使用这个域名,不然,push的时候会提示:

1
denied: requested access to the resource is denied
  1. 示例
    使用”docker tag”命令重命名镜像,并将它通过专有网络地址推送至Registry。
1
2
3
4
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB
$ docker tag 37bb9c63c8b2 registry-vpc.cn-shanghai.aliyuncs.com/acs/agent:0.7-dfb6816

使用 “docker push” 命令将该镜像推送至远程。

1
$ docker push registry-vpc.cn-shanghai.aliyuncs.com/acs/agent:0.7-dfb6816

推荐

阿里云服务作为业内首选,目前有大量活动值得参与,作为推广大使,点我享受优惠!
当然更多优惠还得关注微信公众号:程序员小明!!!
程序员小明

  • 本文标题:「实用」使用阿里云的镜像仓库存储自己的镜像
  • 本文作者:小明
  • 创建时间:2021-11-26 16:18:46
  • 本文链接:https://mynamecoder.com/p/2702.html
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!