使用阿里云docker容器镜像服务托管、自动构建镜像
0 引入
现在越来越多的公司使用docker托管服务,大部分公司内部都搭建或者购买了容器平台。但开发或者运维人员在非内网环境试用的过程中,往往会遇到构建的很慢、频繁的手动构建、在客户那边没有镜像加速等情况。
最近试用了阿里云的容器镜像服务,可以较好的解决上述问题。
1 创建仓库
入口链接为容器镜像服务,帮助文档见容器镜像服务文档。
开通服务后,进入容器镜像服务的主界面,可以看到分为默认实例和企业版实例,默认实例目前是免费的,要使用服务,我们要创建命名空间。
命名空间可以是一个公司或者一个组织使用的空间,免费版一个账号可以创建三个命名空间,每个命名空间下面可以创建300个仓库。
创建好命名空间后,点击进入镜像仓库,点击创建镜像仓库,就可以在指定镜像空间里面创建仓库。
创建镜像仓库时可选择地域、各个地域的资源是隔离的,选择公有类型代表其他人可以免登陆进行拉取。
我们这里准备创建一个基于Flask和Redis构建的Web服务的镜像,Dockerfile是来源我之前的一篇文章编写Dockerfile和docker-compose.yaml文件案例。
点击下一步,这里可以选择dockerfile的代码源自动帮你进行构建。
可以关联阿里云Code、GitHub等源码仓库,我们这里关联gtihub、并选择里面的一个仓库https://github.com/nickliqian/flask_redis。
需要的话可以直接fork我的仓库进行测试。
这里有三个选项:
- 代码变更自动构建镜像:使用过自动工作流相关技术的同学应该熟悉,在我们提交代码后,程序会自动拉取代码、构建、部署到服务器上;
- 海外机器构建:如果代码仓库里面包含很多国外相关的资源,使用国外机器构建可以大大加快构建过程;
- 不使用缓存:每次构建时强制重新拉取基础依赖镜像,可能会增加构建时间。