阿里云容器镜像服务服务地址
https://cr.console.aliyun.com/cn-hangzhou/instances
创建命名空间
位置: 容器镜像服务 / 实例列表/概览/命名空间
命名空间个人版本命名空间为三个,但是可以自由删除
创建镜像仓库
位置: 容器镜像服务 / 实例列表 / 镜像仓库
填写仓库的具体信息,其中名称和摘要是必填项
选择代码仓库
使用github作为代码仓库源:可以选择使用海外机房构建镜像,构建成功后推送至指定地域。如果您构建任务涉及的源代码仓库、容器镜像仓库等资源在国内,建议您关闭“海外机器构建”设置,使用国内构建。
勾选不使用缓存:每次构建时强制重新拉取基础依赖镜像,可能会增加构建时间
代码变更自动构建镜像: 当对应分支有代码提交后会自动触发构建
添加构建规则
此处添加出发构建的规则
手动触发镜像构建
查看构建日志
如遇构建排队执行缓慢,镜像构建最长需要2个小时,请稍等镜像构建完成。
使用镜像
- 登录阿里云Docker Registry
$ docker login --username=15387******@qq.com registry.cn-hangzhou.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。您可以在访问凭证页面修改凭证密码。
- 从Registry中拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/bytenote/wechat_photo_warehouse:[镜像版本号]
- 将镜像推送到Registry
$ docker login --username=15387******@qq.com registry.cn-hangzhou.aliyuncs.com$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/bytenote/wechat_photo_warehouse:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/bytenote/wechat_photo_warehouse:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-hangzhou.aliyuncs.com 作为Registry的域名登录。
- 示例
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEregistry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB$ docker tag 37bb9c63c8b2 registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
使用 "docker push" 命令将该镜像推送至远程。
$ docker push registry-vpc.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
本地构建流程
Tag 为命令空间+版本号
docker build . -t registry.cn-hangzhou.aliyuncs.com/bytenote/wechat_photo_warehouse:0.0.2
docker push registry.cn-hangzhou.aliyuncs.com/bytenote/wechat_photo_warehouse:0.0.2
远程自动化登录脚本
#!/usr/bin/expect
spawn docker login --username=153871***@qq.com registry.cn-hangzhou.aliyuncs.com
expect "Password:"
send "your-password\r"
interact