Openstack-实践1.如何从Docker Hub 批量获取某个Open Stack 版本镜像?

Posted jonc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Openstack-实践1.如何从Docker Hub 批量获取某个Open Stack 版本镜像?相关的知识,希望对你有一定的参考价值。

思路: 1.获取每个版本与哪些module,每个module里面有哪些组件。
        2.对每个组件使用dokcer pull下载。
        3.给镜像打tag
        4.dokcer push 制作本地镜像仓库。
        
#前提需要下载kolla的源码到本地/root/下面
#参考标本:
abspath=/root/kolla/docker

rocky_file=/root/rocky.txt
result_file=/root/result.txt

tag=rocky
namespace=kolla
kolla_base_distro=centos
kolla_install_type=binary

#获取image name
function query_kolla_rocky_image_name()
  second_path=($(ls -l $abspath | grep "^d" | awk ‘print $NF‘))
  for element in $second_path[@]
    do
      #echo $element
      element_module=($(ls -l $abspath/$element | grep "^d" | awk ‘print $NF‘))
      if [ $#element_module[@] -eq 0 ]
        then
          echo "$ element has no children"
          echo $element >> $rocky_file
      else
          ls -l $abspath/$element | grep "^d" | awk ‘print $NF‘ >> $rocky_file
      fi
  done


# 下载image并上传到仓库中

function make_registry()
  elements=$(cat $rocky_file)
  for element in $elements[@]
    do
       echo $namespace/$kolla_base_distro-$kolla_install_type-$element:$tag
       docker pull $namespace/$kolla_base_distro-$kolla_install_type-$element:$tag
       if [ $? -ne 0 ]
         then
           echo  $namespace/$kolla_base_distro-$kolla_install_type-$element:$tag  not exist! >> $result_file
       else
           docker tag $namespace/$kolla_base_distro-$kolla_install_type-$element:$tag 192.168.3.103:4000/$namespace/$kolla_base_distro-$kolla_install_type-$element:$tag
           docker push 192.168.3.103:4000/$namespace/$kolla_base_distro-$kolla_install_type-$element:$tag
           echo $namespace/$kolla_base_distro-$kolla_install_type-$element:$tag  push down!  >> $result_file
      fi
 done


rm -rf $result_file $rocky_file
query_kolla_rocky_image_name
make_registry

  

以上是关于Openstack-实践1.如何从Docker Hub 批量获取某个Open Stack 版本镜像?的主要内容,如果未能解决你的问题,请参考以下文章

如何从零开始学习OpenStack

云计算OpenStack qcow2镜像如何转化为Docker镜像?

如何从零开始学习OpenStack

每周一书《OpenStack最佳实践——测试与CI/CD》留言送书

如何使用Rally+Docker测试OpenStack

[转]用了docker是否还有必要使用openstack?