首页 > 其他分享 >将docker里的所有images镜像推送至服务器上的harbor指定的仓库里

将docker里的所有images镜像推送至服务器上的harbor指定的仓库里

时间:2023-06-19 16:56:12浏览次数:38  
标签:harbor image HARBOR images 镜像 docker

使用shell脚本 实现

将docker里的所有images镜像推送至服务器上的harbor指定的仓库里

shell脚本内容如下:

#!/bin/bash

# 设置Harbor仓库的地址和凭据

#harbor服务器地址
HARBOR_URL="192.168.1.55:88"

#用户名
HARBOR_USERNAME="admin"

#登录密码
HARBOR_PASSWORD="Harbor12345"

#指定的harbor仓库名
HARBOR_PROJECT="m55all-images"

# 登录到Harbor仓库
docker login $HARBOR_URL -u $HARBOR_USERNAME -p $HARBOR_PASSWORD

# 获取服务器上的所有Docker镜像列表
images=$(docker images --format "{{.Repository}}:{{.Tag}}")

# 遍历每个镜像并上传到Harbor的m55all-images仓库
for image in $images; do
# 提取镜像的仓库名称和标签
repo=$(echo $image | cut -d':' -f1)
tag=$(echo $image | cut -d':' -f2)

# 构建Harbor仓库中的镜像引用
harbor_image="$HARBOR_URL/$HARBOR_PROJECT/$repo:$tag"

# 重新标记镜像,将其命名为Harbor仓库的地址
docker tag $image $harbor_image

# 上传镜像到Harbor
docker push $harbor_image

echo "镜像 $image 上传至Harbor $HARBOR_PROJECT 仓库成功!"
done

echo "所有Docker镜像上传至Harbor $HARBOR_PROJECT 仓库完成。"

 

执行脚本即可

 

注意执行完成后

docker images查看镜像时候 会多出一些没有用的镜像

是因为通过harbor推送镜像时候 将原来所有的镜像都重新打标签了

需要执行下面的命令 将没有用的镜像全部删除

docker image prune --all

 

标签:harbor,image,HARBOR,images,镜像,docker
From: https://www.cnblogs.com/likecoke/p/17491540.html

相关文章

  • Docker Compose 引用环境变量
    ComposeCLI与环境变量ComposeCLI(composecommand-line即docker-compose程序)能够识别名称为COMPOSE_PROJECT_NAME和COMPOSE_FILE等环境变量(具体支持的环境变量请参考这里)。比如我们可以通过这两个环境变量为docker-compose指定project的名称和配置文件:$exportC......
  • nginx前端页面通过docker部署过程中的相关问题
    1、nginx.conf的ip地址对应服务器的ip 2、数据卷的路径需要与配置文件对应nginx.conf创建数据卷与容器的语句dockerrun--name=nginx01-vhtml:/usr/share/nginx/html-p8080:80-dnginx3、nginx.conf配置文件的存放位置dockercpnginx.confngin......
  • 子系统安装Docker
    安装Docker在本地机器上创建docker.sh脚本,并将如下内容放入脚本中。#!/bin/bashecho~~~~~~~~~~~~~~StartInstall~~~~~~~~~~~~~~#Setuptherepositorysudoaptinstallca-certificatescurlgnupglsb-releaseecho~~~~~~~~~~~~~~AddDockerofficialGPGkey~~~~~~~......
  • 有关Docker安装、使用的部分相关问题
    @LastUpdate:2022/10/31注:如需在容器内使用显卡,需要安装好NVIDIA显卡驱动、cuda、nvidia-docker[方法见下文]。0.运行环境Docker引擎支持在x86_64(或amd64),armhf,andarm64上运行.1.卸载旧版本dockersudoapt-getremovedockerdocker-enginedocker.iocontainerd......
  • Docker中安装MongoDb
    1.Dockercompose文件version:'3.1'networks:mongo:external:falseservices:mongo-express:image:mongo-expressrestart:alwaysports:-"8081:8081"environment:ME_CONFIG_MONGODB_ENABLE_ADMIN:t......
  • centos7-docker安装与配置kafka+zookeeper+kafkamanager
    一、默认docker环境已经OK拉镜像dockerpullwurstmeister/zookeeperdockerpullwurstmeister/kafkadockerpullsheepkiller/kafka-manager删镜像dockerrmi+镜像id查看镜像[root@build-science-system-services-03~]#dockerimages二、运行相关容器启动zookeeper:......
  • docker代理拉镜像
    1、创建dockerd相关的systemd目录,这个目录下的配置将覆盖dockerd的默认配置$sudomkdir-p/etc/systemd/system/docker.service.d2、新建配置文件/etc/systemd/system/docker.service.d/http-proxy.conf,这个文件中将包含环境变量[Service]Environment="HTTP_PROXY......
  • cenos 安装 docker
    1.卸载旧版本dockersudoyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\......
  • linux sh脚本一键自动部署 前端项目、docker项目、java项目
    1、2、静态前端,admin_xx_auto_deployment.sh#!/bin/bashsource/etc/profile#.~/.bash_profilecd/data/yyyyy_temp/xx_admin_code/yyyyy2-admingitpullPATH=$PATH:./node_modules/.binecho$PATHnpmrunbuild:test1cp-r/data/yyyyy_temp/xx_admin_code/yyyyy2-ad......
  • 随笔(二十)『docker 安装 minio』
    1、拉取镜像dockerpullminio/minio2、创建挂在目录mkdir-p/mydata/minio/configmkdir-p/mydata/minio/data3、创建容器并运行dockerrun-d-p9000:9000--nameminio\-e"MINIO_ACCESS_KEY=minioadmin"\-e"MINIO_SECRET_KEY=minioadmin"\-v/mydata......