将S2I产生的镜像push到openshift Rejistry
Rejistry的分类:
1)内部镜像仓库:供openshift在console中直接选择使用(客户私有)
2)外部镜像仓库:可以通过yaml使用(公司公有)
3)docker hub:整个docker的镜像仓库(世界公有)
由于文件太大,采用的拷贝的形式,并放在外部镜像仓库
#1)将生成的nodejs镜像打包
#2)拷贝到外部镜像仓库的服务器或者虚拟机(也可以采用push的方式)
#3)解压还原成镜像
docker load -i ./nodejs.tar
#4)为镜像重新打上标签
docker tag 62a011e6c8e8 registry.example.com/nodejs:1.0
#5)将镜像发布到外部仓库
docker push registry.example.com/nodejs-builder:1.0
%%%%%%%%%此处属于开发人员内部操作-可忽略%%%%%%%%%%%%%%%
此时在openshift consle 可以通过yaml的形式使用该nodejs-builder镜像,但为了用户的方便,我将镜像放在内部镜像仓库中,方便在菜单中直接选择。
思路:复制nodejs镜像到内部服务器(master节点)在master节点上将
#1)ssh登录到Master节点,从外部镜像中pull下nodejs到docker中
docker pull nodejs-builder:1.0
#2)修改标签为内部镜像仓库的标签(需要再复习标签的写法)
docker tag registry.example.com/nodejs-builder:1.0 172.30.231.123:5000/openshift/nodejs-builder:1.0
#3)获得服务器密钥
oc whoami -t
#4)登录rejistory服务(使用的是镜像),用户名admin,密码是密钥
docker login X.X.X.X:5000
login:admin
#5)将下载到服务器的nodejs镜像push到内部镜像仓库
docker push X.X.X.X:5000/openshift/nodejs-builder:1.0