Docker阿里云镜像存储服务
自己制作的docker一般推送到阿里云docker管理平台了,而不是推送到docker官方的管理平台, 如果推送为公共仓库的话, 其他服务器不需配置RAM账号, 只需配置源即可拉取。
阿里云镜像服务地址 https://cr.console.aliyun.com/cn-beijing/instances/repositories 免费
登陆之后可以免费创建,仓库。地址大约有三层。服务器地址/命名空间/仓库名称,大体类似下面这个样子
registry.cn-beijing.aliyuncs.com/命名空间/仓库:版本,服务器地址是北京的
创建镜像仓库的代码源, 建议使用阿里云的code。
仓库的话可以进行权限隔离,分为公有仓库和私有仓库,公有仓库镜像拉取的时候不需要验证,私有仓库需要验证,并且无论是公有还是私有,镜像推送都是需要密码。
配置docker使用阿里云
服务器中docker登录阿里云docker registry:
$ sudo docker login --username= registry.cn-beijing.aliyuncs.com
登录registry的用户名是您的阿里云账号全名,密码是您开通服务时设置的密码。
你可以在镜像管理首页点击右上角按钮修改docker login密码。
从registry中拉取镜像:
$ sudo docker pull registry.cn-beijing.aliyuncs.com/spencer_docker/django2:[镜像版本号]
将镜像推送到registry:
$ sudo docker login --username= registry.cn-beijing.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-beijing.aliyuncs.com/spencer_docker/django2:[镜像版本号]
$ sudo docker push registry.cn-beijing.aliyuncs.com/spencer_docker/django2:[镜像版本号]
其中[ImageId],[镜像版本号]请你根据自己的镜像信息进行填写。
配置RAM账号允许多端开发使用docker镜像
如果当前的阿里云账号不允许泄露给底层开发人员, 则需对其分配一个子账号, 然后
开发人员登录RAM, 使用其中的镜像仓库服务, 开通服务并设置Registry密码, 则可以使用docker login登录拥有该私有镜像的获取权限。
配置加速器
如下图进行一个文件的配置并重启docker
图片.png
# 镜像仓库拉取失败问题排查
镜像仓库拉取失败问题排查
使用 镜像构建和发布 功能时,如果遇到 not found: does not exist or no pull access 的报错,则可以通过以下步骤排查问题:
-
本地使用 docker login 命令验证自己使用的用户名密码是否正确。 需要注意的是,镜像仓库的用户名密码与阿里云账户的用户名密码是不一样的。
-
在CodePipeline中用于拉取镜像仓库的证书类型是 Registry授权类型证书, 请查看帮助文档配置正确的证书。
注意
: 第二种错误的话, 即使登录后按照镜像的的操作指南, 是无法正常无法进行正常拉取, 因为镜像创建人配置了特殊的访问模式。
网友评论