配置阿里云镜像
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
[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
[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
[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
成功后即可在阿里镜像仓库控制台看到。
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