CCE容器服务用户如何上传私有镜像到dockerhub
1 背景
用户创建docker应用时,需要提前预置镜像,镜像分为内部镜像、外部镜像;内部镜像又分为私有镜像、公有镜像。用户需要先将镜像上传至镜像仓库中,本文主要描述租户如何上传私有镜像、公有镜像至镜像仓库。
2 前期准备
1、需要准备好镜像文件(这些镜像已经提前制作好,可以直接用来部署应用),本文以push_image.tar.gz表示镜像包的压缩文件,具体操作以实际情况为准
2、需要获取CCE管理集群信息(如bootstrap、dockerhub服务的节点IP、登陆用户名、密码),可以在搭建CCE环境时获取
说明:dockerhub是用于存放用户镜像的镜像仓库
3、获取用户证书(以user01为例),并保存文件“dockercfg.txt”
3 上传私有镜像
Step 1:将push_image.tar.gz上传至bootstrap节点上
Step 2:将push_image.tar.gz拷贝至dockerhub所在节点(基于安全考虑)
Step 3:跳转至dockerhub节点, 解压push_image.tar.gz文件,获取镜像列表
a)在bootstrap节点执行命令 “ssh 192.168.1.154”(登陆dockerhub所在节点)
b)解压压缩文件,获取镜像列表“tar –zxvf push_iamge.tar.gz”
Step 4:进入push_image目录,加载镜像到docker本地仓库
a)cd push_image
b)docker load –i
其中image_file为解压后具体镜像文件
Step 5:将docker镜像重命名为可以上传到docker hub的样式
docker tag 24d5f4a92e91 9.38.58.147:443/vdc01/busybox
参数说明:
24d5f4a92e91:步骤4上传的镜像ID(MAGE_ID),可以通过docker images查询
9.38.58.147:dockerhub所在节点的浮动IP地址
vdc01:user01所属的domain(即FM的vdc名称)
busybox:镜像名称
Step 6:登陆到dockerhub
docker login -u _auth_token -p
如果出现“Login Successed”的界面,则说明登录成功。
Step 7:把镜像push到用户私有仓库
docker push 9.38.58.147:443/vdc01/busybox
Step 8:使用vdc01下user02登陆CCE服务界面,查看上传的私有镜像,上传成功!
4 上传公有镜像
上传公有镜像与私有镜像步骤类似,只是操作用户有所区别,上传公有镜像使用FM portal超级管理员账户 cloud_admin用户登陆FusionContainer界面,下载AK/SK文件,上传认证文件。
这里只描述两者操作的区别点点,其余操作步骤与上传私有镜像完全一致
Step 5:docker镜像重命名(打tag)时
命令:docker tag 24d5f4a92e91 9.38.58.147:443/offical/busybox
说明:offical表示公有镜像模式
Step 7:将镜像push到镜像仓库
命令:docker push 9.38.58.147:443/offical/busybox
5 常见FAQ
问题1:push镜像时报错?
解决方法:
user01为用户名,需要填写user01所属的domain名称(即FM上查看到的VDC名称)
问题2:push镜像时报错localhost:443/vdc01/busybox不存在?
解决方法:进入dockerhub节点,查看容器绑定的端口:docker ps,如下图所示,绑定的是9.38.58.147:443,所以push的时候,需要填写docker push 9.38.58.147:443/vdc01/busybox
问题3:push镜像时使用大写的Domain名报错,在push镜像时,不支持domain名为大写
解决方法:在FM修改vdc命称为小写。由于对接FM后,FM支持用户创建vdc使用大写字母,因此,CCE需要做相应修改,与FM保持一致(已确定,在文档中落地)。
- 点赞
- 收藏
- 关注作者
评论(0)