阿里云镜像使用方法 Dokcer本地镜像发布到阿里云镜像仓库(1)

配置阿里云镜像

1. 阿里云控制台-容器镜像服务-个人版-命名空间。

新建 命名空间,如:chenxie

阿里云镜像使用方法 Dokcer本地镜像发布到阿里云镜像仓库(2)

仓库类型默认是 私有,为了安全不建议设置为公开。

配置镜像仓库

现在我们应该怎么上传我们本地的镜像到阿里仓库呢?

选择 镜像仓库,选择一个地域你要将镜像存储在哪个地方,然后点击 创建镜像仓库,

阿里云镜像使用方法 Dokcer本地镜像发布到阿里云镜像仓库(3)

选择 本地仓库

阿里云镜像使用方法 Dokcer本地镜像发布到阿里云镜像仓库(4)

接下来即可查看到阿里自动提供的操作指南,按照提示操作即可将本地镜像推送至阿里镜像仓库:

操作指南 1. 登录阿里云Docker Registry $ docker login --username=che****@aliyun.com registry.cn-chengdu.aliyuncs.com 用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。 您可以在访问凭证页面修改凭证密码。 2. 从Registry中拉取镜像 $ docker pull registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu:[镜像版本号] 3. 将镜像推送到Registry $ docker login --username=che****@aliyun.com registry.cn-chengdu.aliyuncs.com $ docker tag [ImageId] registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu:[镜像版本号] $ docker push registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu:[镜像版本号] 请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。 4. 选择合适的镜像仓库地址 从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。 如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-chengdu.aliyuncs.com 作为Registry的域名登录。 5. 示例 使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。 $ 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-chengdu.aliyuncs.com/acs/agent:0.7-dfb6816 使用 "docker push" 命令将该镜像推送至远程。 $ docker push registry-vpc.cn-chengdu.aliyuncs.com/acs/agent:0.7-dfb6816

操作示例1. 登录

[root@localhost ~]# docker login --username=chenxie@aliyun.com registry.cn-chengdu.aliyuncs.com Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded

2. 打tag

[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE alex/ubuntu v1.0 cc8c8cdda763 20 minutes ago 175MB ubuntu latest ba6acccedd29 4 months ago 72.8MB hello-world latest feb5d9fea6a5 5 months ago 13.3kB [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# docker tag cc8c8cdda763 registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu:v1.0 [root@localhost ~]# [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE alex/ubuntu v1.0 cc8c8cdda763 21 minutes ago 175MB registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu v1.0 cc8c8cdda763 21 minutes ago 175MB ubuntu latest ba6acccedd29 4 months ago 72.8MB hello-world latest feb5d9fea6a5 5 months ago 13.3kB

3. 推送

[root@localhost ~]# docker push registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu:v1.0 The push refers to repository [registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu] 7cdf15541a83: Pushed 9f54eef41275: Pushed v1.0: digest: sha256:fb3c2c2b92b73a256291e717a5407df44218c79e01fb3c47ee87fc1a1eb3bbe3 size: 741

4. 查看

成功后即可在阿里镜像仓库控制台看到。

阿里云镜像使用方法 Dokcer本地镜像发布到阿里云镜像仓库(5)

5. 拉取测试

删除所有容器:

docker rm -f $(docker ps -qa)

删除所有镜像:

docker rmi -f $(docker images -qa)

本机拉取测试:(由于本机之前在推送前已经登录过了所以可以直接拉取)

[root@localhost ~]# docker pull registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu:v1.0 v1.0: Pulling from chenxie/ubuntu 7b1a6ab2e44d: Pull complete 78729dcf0f43: Pull complete Digest: sha256:fb3c2c2b92b73a256291e717a5407df44218c79e01fb3c47ee87fc1a1eb3bbe3 Status: Downloaded newer image for registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu:v1.0 registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu:v1.0 [root@localhost ~]# [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu v1.0 cc8c8cdda763 25 minutes ago 175MB

注意:

如上我们在本机成功拉取了阿里镜像上的镜像,如果拉取时出现如下错误,说明你需要先进行登录操作。

Error response from daemon: pull access denied for registry.cn-chengdu.aliyuncs.com/chenxie/ubuntu, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

,