批量上传镜像到私有仓库

智数逐影人
• 阅读 3841

注意:以下的所有操作都是建立在私有仓库搭建好的基础之上!(查看资料)

  • 创建脚本

vim push.sh
  • 编辑脚本内容

#!/bin/bash
# This script will upload the given local images to a registry server ($registry is the default value).
# Usage: push_images image1 [image2...]
# Author: Mongo
# Create: 2016-05-26
#The registry server address where you want push the images into(Please instead of your private registry's domain name)
registry=willem.top:6666
### DO NOT MODIFY THE FOLLOWING PART, UNLESS YOU KNOW WHAT IT MEANS. YOU CAN ALSO LEARN IT FROM HERE.###
echo_g () {
    [ $# -ne 1 ] && return 0
    echo -e "\033[32m$1\033[0m"
}
echo_b () {
    [ $# -ne 1 ] && return 0
    echo -e "\033[34m$1\033[0m"
}
usage() {
    sudo docker images
    echo "Usage: $0 registry1:tag1 [registry2:tag2...]"
}
[ $# -lt 1 ] && usage && exit
echo_b "The registry server is $registry"
for image in "$@"
    do
        echo_b "Uploading $image..."
        sudo docker tag $image $registry/$image
        sudo docker push $registry/$image
        sudo docker rmi $registry/$image
        echo_g "Push $image success!"
    done
  • 创建上传所有镜像的脚本

vim pushall.sh
  • 编辑该脚本的内容

#!/bin/sh
# This script will upload all local images to a registry server ($registry is the default value).
# Usage: push_all
# Author: Mongo
# Create: 2016-05-26
for image in `sudo docker images|grep -v "REPOSITORY"|grep -v "<none>"|awk '{print $1":"$2}'` 
do
    ./push.sh $image
done
  • 创建下拉指定镜像的脚本

vim pull.sh
  • 编辑该脚本的内容

#!/bin/bash

# This script will upload the given local images to a registry server ($registry is the default value).
# Usage:  push_images image1 [image2...]
# Author: Mongo
# Create: 2014-05-26

#The registry server address where you want push the images into
registry=willem.top:6666

### DO NOT MODIFY THE FOLLOWING PART, UNLESS YOU KNOW WHAT IT MEANS ###
echo_g () {
    [ $# -ne 1 ] && return 0
    echo -e "\033[32m$1\033[0m"
}

echo_b () {
    [ $# -ne 1 ] && return 0
    echo -e "\033[34m$1\033[0m"
}

usage() {
    sudo docker images
    echo "Usage: $0 registry1:tag1 [registry2:tag2...]"
}

[ $# -lt 1 ] && usage && exit

echo_b "The registry server is $registry"

for image in "$@"
    do
        echo_b "Downloading $image..."
        sudo docker pull $registry/$image
        sudo docker tag $registry/$image $image
        sudo docker rmi $registry/$image
        echo_g "Download $image Success!"
    done
  • 给三个脚本可执行的权限

chmod +x ./push.sh ./pushall.sh ./pull.sh
  • 执行脚本

# 上传指定镜像(可上传多个,中间用空格隔开)
./push.sh ImageName[:TagName] [ImageName[:TagName] ···]
# 例如:./push.sh busybox:latest ubutnu:14.04

# 上传所有镜像
./pushall.sh

# 下载指定镜像(可上传多个,中间用空格隔开)
./pull.sh ImageName[:TagName] [ImageName[:TagName] ···]
# 例如:./pull.sh busybox:latest ubutnu:14.04
点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Stella981 Stella981
4年前
Harbor部署私有镜像仓库
部署私有仓库下载harbor2.1.0安装包下载离线安装包:$wgethttps://github.com/goharbor/harbor/releases/download/v2.1.0rc2/harborofflineinstallerv2.1.0rc2.tgz解压!修改
Stella981 Stella981
4年前
Jenkins打Docker镜像推送到私有仓库
Jenkins打Docker镜像推送到私有仓库因为我的Jenkins是安装在群晖NAS中的docker,所以我这边就以Docker安装Jenkins为例!(https://oscimg.oschina.net/oscnet/up32dceca60af852573f508da551328bc92
Stella981 Stella981
4年前
Maven第四篇【私有仓库、上传jar包、引用私服jar包、上传本地项目到私服】
搭建私有服务器前面已经说过了,我们使用Maven的使用,如果需要导入相对应的jar包,Maven首先会在我们的本地仓库中寻找—私有仓库—中心仓库…然而,我们的本地仓库常常没有想要的jar包的,而经常去中心仓库下载这就非常浪费时间和资源了…因此我们一般都有一个私有仓库…另外有些公司都不提供外网给项目组人员,因此就不能使用mave
Stella981 Stella981
4年前
Docker私有仓库的构建
\root@localhost~\vim/etc/sysconfig/dockerINSECURE\_REGISTRY'insecureregistry'INSECURE\_REGISTRY'insecureregistry192.168.30.24:5000'\root@localhost~\syste
Stella981 Stella981
4年前
Maven镜像源
Maven仓库镜像修改Mavensetting.xml文件在<mirrors标签内添加以下镜像。<fontcolor"red"注意:如果构建错误,请根据错误信息,调整镜像位置</font<mirror<idrepo2</id<mirrorOfcentral</m
Stella981 Stella981
4年前
Docker搭建私有镜像仓库
docker仓库的工作原理和maven的类似,他们都提供了提供了一个中央仓库,允许用户科技直接从中央仓库下载,同时我们也可以搭建自己的本地私有仓库。docker本地私有镜像仓库的优点:1.从私有仓库中下载节省网络带宽;2.从私有仓库中下载速度快,一般都是局域网络内部署;3.托管不对外的内部镜像;下面我们将完整的说明使用docker
Stella981 Stella981
4年前
Octan
!(http://pic.wblog.cn/487CCC9A6BE84D249F763F5FBAC6D024.png)相信使用过K8S或容器化的大家都有了解过私有容器仓库Harbor,Harbor是VMware大佬开源的一个私有容器镜像仓库,VMware也开源了另外一个工具就是本文要说到的Octant,从笔者的角度上看来它更像一个Dashb
Stella981 Stella981
4年前
Docker harbor 安装和基础操作
目录简介离线安装配置文件安装查看访问测试及简单操作创建一个用户创建一个测试仓库创建测试仓库测试上传和下载镜像上传下载镜像测试简介Docker容器应用的开
Stella981 Stella981
4年前
Docker 私有仓库搭建
引用自:https://blog.csdn.net/chenhaifeng2016/article/details/78652309转自:https://www.cnblogs.com/Tempted/p/7768694.html也可参考链接:http://www.ywnds.com/?p7958环境准备环境:两个