一点牢骚
harbor 2.x 之后有了仓库代理功能确实方便许多,但为啥不能直接指定存到本地仓库呢?(或许是我没发现…),本着少动一点是一点的原则,于是有了这篇“水文”,haha
准备工作
- harbor部署,省略…500字
- 本地访问域名:nexus.j-test.com
- 创建两个镜像代理仓库
- 再创建两个镜像代理项目,docker163、dockerhub,分别关联上镜像代理仓库
- 创建三个本地仓库(按自己需求来)
- k8s
- kolla
- library
imgctl脚本
cat > /usr/bin/imgctl << EOF
#/bin/bash
#######################################################################
# imgctl - quick pull docker image and push local harbor repository
# author - RunnerJxc
#######################################################################
harbor_repo=harbor.j-test.com
project1=docker163
project2=dockerhub
harbor_proxy=($project1 $project2)
dest_project="library"
#是否已登录仓库
[[ -f ~/.docker/config.json ]] || { docker login $harbor_repo;}
# getopt的版本是增强版吗
getopt -T &>/dev/null;[ $? -ne 4 ] && { echo -e "\e[41mthe getopt is not enhanced version\e[0m";exit 1;}
ARGS=$(getopt -o i:d:h -l img:,dest:,help,pull,push -n "please see -h or --help" -- "$@")
eval set -- $ARGS
help_info='imgctl - quick pull docker image and push local harbor repository
Usage: imgctl [options] xx
options:
-i|--im