Dokcer本地镜像发布到阿里云镜像仓库

配置阿里云镜像

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

新建 命名空间,如:chenxie

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

 

配置镜像仓库

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

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

选择 本地仓库

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

操作指南

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. 查看

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

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

 

 

版权声明:
作者:admin
链接:https://www.chenxie.net/archives/2543.html
来源:蜀小陈
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录