私服nexus作为docker仓库用法

一、创建docker仓库

操作步骤

私服nexus作为docker仓库用法_第1张图片

私服nexus作为docker仓库用法_第2张图片

私服nexus作为docker仓库用法_第3张图片

推送仓库

docker login ip:9021 -u $username -p $password
docker push ip:9021/$project/$module:tag

二、清理

下载nexus-cli

wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli
chmod +x nexus-cli

配置

nexus-cli同级目录执行./nexus-cli configure,然后依次输入:

  • 仓库地址(http://host:8081,注意这里是UI访问端口,不是repo的端口)
  • 镜像仓库名称
  • 用户名
  • 密码
    最终会在本目录下创建.credentials 文件
# Nexus Credentials
nexus_host = "http://nexus.demo.com"
nexus_username = "admin"
nexus_password = "adminpass"
nexus_repository = "your-docker-private-repo"

查看镜像

./nexus-cli image ls

保留最近5个

./nexus-cli image delete -name mlabouardy/nginx -keep 5

综合脚本

创建脚本clean.sh,配置好对应的cli的目录,和需要清除的镜像列表文件

image_file=image.txt
CLI_HOME=/opt/docker-clear
KEEP_VERSION_NUM=10

$CLI_HOME/nexus-cli image ls > $image_file
sed -i '$d' $image_file


cat $image_file | while read line
do
    echo "清理$line"
    $CLI_HOME/nexus-cli image delete -name $line -keep $KEEP_VERSION_NUM
done

定时任务

每天2点执行

crontab -e

0 2 * * * sh /opt/docker-clear/clean.sh

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.

创建nexus task

这里的清除只是打了标签,并没有实际的释放磁盘,需要在仓库后面创建一个定时清理的任务

私服nexus作为docker仓库用法_第4张图片

你可能感兴趣的:(环境安装)