要使用本地host构建的或其它渠道获取的Docker镜像来创建服务,需要先把这些镜像提交到TAE的私有仓库,再用这些镜像来创建服务。
到“镜像仓库”页面查看私有仓库的用户名和密码:
在本地Docker环境中通过命令行登录私有仓库,如图:
本地Docker环境搭建
docker login –u 用户名 –p 密码 –e 邮箱 https://registry.acs.aliyun.com
注意:邮箱请保证不为空即可
修改本地镜像的名称,使它符合镜像命名规范,如图
docker tag [镜像ID] registry.acs.aliyun.com/[用户名]/[镜像名称:标签]
说明:
Docker规范的镜像名格式如下:
镜像名的约束:
参数 | 约束 |
---|---|
image的名字 | 长度不能超过64,不能少于4,只允许[a-z0-9_] |
tag | 长度1-10,只允许[a-z0-9_.-] |
执行命令如下:
docker push registry.acs.aliyun.com/[用户名]/ [镜像名称:标签]
第一步:登录TAE的私有仓库(这里假设用户名是654321,密码是123456),如下:
docker login –u 654321 –p 12345 –e xxx@taobao.com https://registry.acs.aliyun.com
第二步:使用Dockerfile构建镜像,Dockerfile内容如下:
FROM registry.acs.aliyun.com/open/centos:3.0.0 RUN mkdir -p /ace/log && \ echo "python -m SimpleHTTPServer 8080 > /ace/log/helloworld.log" > /ace/bin/start WORKDIR /ace/log
镜像取名叫helloworld,在Dockerfile文件所在的目录执行如下命令:
docker build -t helloworld .
注意:如果构建失败,可能会出现错误信息“Authentication is required.”,则请开发者检查是否已经login EWS的私有仓库。
第三步:把helloworld镜像改名成规范格式的名称(见上文),如图:
docker tag helloworld registry.acs.aliyun.com/654321/helloworld
第四步:把这个镜像推送到私有仓库,如图:
docker push registry.acs.aliyun.com/654321/helloworld
第五步:push成功后,通过EWS控制台的“镜像仓库”列表查看自定义镜像,如图:
第六步:利用自定义镜像创建服务。在创建服务的第一步“镜像选择”中,选择刚才推送成功的自定义的镜像。