openstack离线kolla镜像

  • 安装docker
yum install docker

更改docker配置文件/etc/docker/daemon.json

{
"insecure-registries": [
  "registryserver:5001"
]
}

重启docker

systemctl restart docker

配置/etc/hosts,增加行

127.0.0.1  registryserver

启动容器

docker run -d -p 5001:5000 --name registry registry
  • 获取kolla-ansible代码
git clone https://github.com/openstack/kolla-ansible
  • 提取镜像名称
grep "docker_namespace }" kolla-ansible/ -R | while read line ; do line=${line##*\}-};line=${line%\"};  echo $line >> images ;done

镜像名称保存在images文件中,查看images文件里内容,将

neutron-server{{ '-opendaylight' if enable_opendaylight | bool else '' }}

改成

neutron-server
neutron-server-opendaylight
  • 拉取镜像
#!/bin/bash
IMAGEFILE=images
DOCKER_NAMESPACE="kolla"
KOLLA_BASE_DISTRO="centos"
INSTALL_TYPE="source"
TAG="rocky"
images=`cat $IMAGEFILE`
count=`cat $IMAGEFILE |wc -l`
icount=1
for image in $images
do
  echo [$icount/$count]: $image
  docker pull $DOCKER_NAMESPACE/${KOLLA_BASE_DISTRO}-${INSTALL_TYPE}-$image:$TAG
  ((icount++))
done
  • TAG镜像
#!/bin/bash
IMAGEFILE=images
DOCKER_NAMESPACE="kolla"
KOLLA_BASE_DISTRO="centos"
INSTALL_TYPE="source"
DES_REGISTRY="registryserver:5001"
TAG="rocky"
images=`cat $IMAGEFILE`
count=`cat $IMAGEFILE |wc -l`
icount=1
for image in $images
do
  echo [$icount/$count]: $image
  docker tag $DOCKER_NAMESPACE/${KOLLA_BASE_DISTRO}-${INSTALL_TYPE}-$image:$TAG $DES_REGISTRY/$DOCKER_NAMESPACE/${KOLLA_BASE_DISTRO}- ${INSTALL_TYPE}-$image:$TAG
  ((icount++))
done
  • 上传镜像
#!/bin/bash
IMAGEFILE=images
DOCKER_NAMESPACE="kolla"
KOLLA_BASE_DISTRO="centos"
INSTALL_TYPE="source"
DES_REGISTRY="registryserver:5001"
TAG="rocky"
images=`cat $IMAGEFILE`
count=`cat $IMAGEFILE |wc -l`
icount=1
for image in $images
do
  echo [$icount/$count]: $image
  docker push $DES_REGISTRY/$DOCKER_NAMESPACE/${KOLLA_BASE_DISTRO}-${INSTALL_TYPE}-$image:$TAG
  ((icount++))
done
  • 打包镜像
docker inspect registry

找到mount到registry:/var/lib/registry的目录,打包该目录下的docker目录

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容