使用阿里云镜像服务构建并发布docker镜像
阿里云提供了一个免费的镜像仓库服务,可以使用它去读取Github
里的dockerfile
完成image
构建,并发布到阿里云镜像仓库里去。这能解决构建镜像的时候依赖资源在海外本地构建慢的问题,也能解决发布分享问题(可设置镜像是私有还是公开)。本文是操作过程记录。
另外借助阿里云镜像仓库服务提供的webhook
还能实现自动监视github仓库代码变动->触发构建->构建成功后推送消息->接受消息,触发拉取镜像创建容器,这样一整套持续集成流程。当然本文暂不涉及持续集成的内容。
准备工作
登录阿里云容器服务,创建命名空间。一个主账号最多可以创建五个命名空间。
创建镜像
- 将dockerfile上传到
Github
。笔者的docker仓库是这个。 - 在阿里云容器服务的镜像列表菜单里点击创建镜像仓库。地域可以选择离你近的,这样以后pull会快一点。
- 绑定
Github
。选择对应的repo,在构建设置里填入dockerfile的path。这里需要注意的是repo的根是/
。比如从GitHub上
找到dockerfile文件copy path是docker/13.0/apache/Dockerfile
,那么在这里应该填/13.0/apache/
- 管理->构建->立即构建。这里可以设定使用
海外构建
,速度能提高N倍。
拉取镜像
镜像生成完毕后,就可以看到拉取镜像地址,如
镜像名称:nextcloud
镜像性质:公开
公网地址:docker pull registry.cn-hangzhou.aliyuncs.com/lefer/nextcloud
经典内网:docker pull registry-internal.cn-hangzhou.aliyuncs.com/lefer/nextcloud
VPC网络:docker pull registry-vpc.cn-hangzhou.aliyuncs.com/lefer/nextcloud
代码仓库:https://github.com/frontc/docker
镜像地域:华东 1
END
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeFer!
评论