镜像仓库 Nexus 3.18.1
说明:Nexus是Sonatype提供的仓库管理平台,Nuexus Repository OSS3能够支持Maven、npm、Docker、YUM、Helm等格式数据的存储和发布。
一、安装jdk
1)安装JDK
yum install -y java-1.8.-openjdk*
2)配置环境
vim /etc/profile
# set java environment
export JAVA_HOME=/usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3)重载
source /etc/profile
echo "source /etc/profile" >> /etc/bashrc java -version
二、安装nexus
2.1 下载
mkdir -p /opt/nexus && cd /opt/nexus wget https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.18.1-01-unix.tar.gz
tar -zxvf nexus-3.18.--unix.tar.gz
mv nexus-3.18.- nexus3.
2.2 配置
2.2.1 修改jdk
vim /opt/data/nexus/nexus3./bin/nexus
INSTALL4J_JAVA_PREFIX="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64"
2.2.2 修改启动用户
vim /opt/data/nexus/nexus3./bin/nexus.rc run_as_user="root"
2.2.3 修改数据和日志存储位置
vim /opt/data/nexus/nexus3./bin/nexus.vmoptions -XX:LogFile=/opt/data/blob-stores/others/sonatype-work/nexus3/log/jvm.log
-Dkaraf.data=/opt/data/blob-stores/others/sonatype-work/nexus3
-Djava.io.tmpdir=/opt/data/blob-stores/others/sonatype-work/nexus3/tmp
2.2.4 查看默认端口
cat /opt/data/nexus/nexus3./etc/nexus-default.properties |grep application-port
2.3 启动
2.3.1 启动脚本
vim /usr/lib/systemd/system/nexus.service [Unit]
Description=nexus service [Service]
Type=forking
LimitNOFILE=
ExecStart=/opt/nexus/nexus3./bin/nexus start
ExecReload=/opt/nexus/nexus3./bin/nexus restart
ExecStop=/opt/nexus/nexus3./bin/nexus stop
Restart=on-failure [Install]
WantedBy=multi-user.target
2.3.2 自启动
将服务加入开机启动
systemctl daemon-reload
systemctl enable nexus
systemctl start nexus
三、安装nginx
3.1 安装
yum install -y nginx
3.2 证书申请
申请ssl证书,并存放在 /etc/nginx/cert 目录下
mkdir /etc/nginx/cert
3.3 配置nginx.conf
vim /etc/nginx/nginx.conf
#注释server,添加如下:
upstream nexusserver{
server 172.16.2.158:;
}
upstream mirrornexus{
server 172.16.2.158:;
}
upstream nexusdocker{
server 172.16.2.158:;
}
说明:
1)8081 为 nexus server 的端口,nexus本身服务程序;
2)6001 为 docker proxy 的端口,作为中央仓库的代理;
3)6000 为 docker hosted 的端口,推送拉取镜像
4)6001 和 6000 需登入后台进行相应的配置生成端口,这里是提前设置好nginx。
3.4 配置服务
3.4.1 服务程序
vim /etc/nginx/conf.d/nexusserver.conf
server {
listen ;
server_name nexus.wmq.com;
ssl on;
ssl_certificate cert/1566822_nexus.wmq.com.pem;
ssl_certificate_key cert/1566822_nexus.wmq.com.key; client_max_body_size ;
index index.html;
location / {
proxy_pass http://nexusserver;
#proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto "https";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen ;
server_name nexus.wmq.com;
client_max_body_size ;
index index.html;
location / {
return https://$server_name$request_uri;
}
}
3.4.2 代理仓库
vim /etc/nginx/conf.d/mirrornexus.conf
server {
listen ;
server_name mirror.nexus.wmq.com;
ssl on;
ssl_certificate cert/mirror.nexus.wmq.com.pem;
ssl_certificate_key cert/mirror.nexus.wmq.com.key; client_max_body_size ;
index index.html;
location / {
proxy_pass http://mirrornexus;
#proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto "https";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen ;
server_name mirror.nexus.wmq.com;
client_max_body_size ;
index index.html;
location / {
return https://$server_name$request_uri;
}
}
3.4.3 镜像仓库
vim /etc/nginx/conf.d/nexusdocker.conf
server {
listen ;
server_name reg.nexus.wmq.com;
ssl on;
ssl_certificate cert/reg.nexus.wmq.pem;
ssl_certificate_key cert/reg.nexus.wmq.key; client_max_body_size ;
index index.html;
location / {
proxy_pass http://nexusdocker;
#proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto "https";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen ;
server_name reg.nexus.wmq.com;
client_max_body_size ;
index index.html;
location / {
return https://$server_name$request_uri;
}
}
3.5 启动 nginx
nginx -t
systemctl enable nginx
systemctl start nginx
3.6 域名解析
nexus.wmq.com、mirror.nexus.wmq.com、reg.nexus.wmq.com 三个域名都解析到 nexus 主机内网地址
四、定时清理镜像
4.1 下载工具
github地址:https://github.com/mlabouardy/nexus-cli
mkdir /opt/nexus/clean-docker-images && cd /opt/nexus/clean-docker-images
wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli
chmod +x nexus-cli
4.2 配置
./nexus-cli configure
Enter Nexus Host: http://127.0.0.1:8081
Enter Nexus Repository Name: docker-wmqe
Enter Nexus Username: admin
Enter Nexus Password: *******
会在当前目录生成 .credentials 文件,该文件记录了上面输入的信息。
4.3 脚本
vim clean-docker-images.sh
#! /bin/sh
CLI_HOME=/opt/nexus/clean-docker-images
cd $CLI_HOME
KEEP_VERSION_NUM=
IMAGES=$($CLI_HOME/nexus-cli image ls|grep -v Total) clean_images() {
for imgs in $(echo $IMAGES);
do
echo "清理$imgs";
$CLI_HOME/nexus-cli image delete -name $imgs -keep $KEEP_VERSION_NUM
done
} clean_images
4.4 计划任务
crontab -e
* * * sh /opt/nexus/clean-docker-images/clean-docker-images.sh > /opt/nexus/clean-docker-images/clean-docker-images.log >&
镜像仓库 Nexus 3.18.1的更多相关文章
- 019.nexus搭建docker镜像仓库/maven仓库
一.安装docker CE 参考docker doc https://docs.docker.com/install/linux/docker-ce/centos/ 二.docker启动nexus3 ...
- Kunbernetes从私有仓库nexus拉取镜像
1.docker登陆认证 [root@master ~]# vim /etc/docker/daemon.json { "insecure-registries": [" ...
- 使用Nexus3构建Docker私有镜像仓库
一.安装Nexus3 Nexus3是Sonatype提供的仓库管理平台,Nuexus Repository OSS3能够支持Maven.npm.Docker.YUM.Helm等格式数据的存储和发布:并 ...
- [转]Ubuntu18.04下使用Docker Registry快速搭建私有镜像仓库
本文转自:https://blog.csdn.net/BigData_Mining/article/details/88233015 1.背景 在 Docker 中,当我们执行 docker pull ...
- 6.docker的私用镜像仓库registry
docker方式启动镜像仓库 / # cat /etc/docker/registry/config.yml version: 0.1 log: fields: service: registry s ...
- docker 系列 - 企业级私有镜像仓库Harbor部署(转载)
本文转载自 搜云库 的文章 https://www.jianshu.com/p/7d76850de03f , 感谢作者 3.png 上一篇文章搭建了一个具有基础功能,权限认证.TLS 的私有仓库, ...
- 企业级镜像仓库Harbor
介绍: Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面, ...
- harbor镜像仓库-02-https访问配置
harbor镜像仓库-02-https访问配置 harbordockerhttps harbor搭建部署参考上一章节 harbor镜像仓库-01-搭建部署 Harbor默认使用http,给harbor ...
- Maven setting配置镜像仓库
国内Maven镜像仓库值得收藏 1.配置IDE构建的Maven存放目录(解压目录) 2.配置IDE的User setting file路径,修改setting配置文件 配置本地仓库 <!-- ...
随机推荐
- 浅析负载均衡的6种算法,Ngnix的5种算法
常见的几种负载均衡算法 1.轮询法 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载. 2.随机法 通过系统的随机算法,根据后端服务器的 ...
- java自适应响应式 企业网站源码 SSM 生成静态化 手机 平板 PC
java 企业网站源码 前后台都有 静态模版引擎, 代码生成器大大提高开发效率 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成ht ...
- Spring扩展点之FactoryBean接口
前言 首先看一下接口定义 public interface FactoryBean<T> { /** * 返回对象实例 */ @Nullable T getObject() throws ...
- ES6的常见语法!!
let : 声明变量 不存在变量提前 拥有局部作用域 (只要有{}出现 则只在该{}范围内生效) (而var只在函数内会产生作用域范围) 不能重复声明 const : 声明常量(常量名从规范上来将 最 ...
- Windows下VS Code打开黑屏解决办法(这样真的行)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_42421611/article/d ...
- ES6-面向对象
1.老版的面向对象: function User(name,pass){ this.name=name; this.pass=pass; } User.prototype.showName=funct ...
- 小程序动态设置style,使用内部数据
- 学点经济学:M0、M1、M2、M3,傻傻分不清?(转载)
来源:http://t.10jqka.com.cn/pid_97006727.shtml 学点经济学:M0.M1.M2.M3,傻傻分不清? 25,508人浏览 2018-08-03 11:06 常听人 ...
- VSCode在Ubuntu下快捷键和Windows下不一致的解决办法
Windows下切换前一次和后一次光标位置,用的快捷键是Alt+<-和Alt+->.很遗憾,Ubuntu下并不是这个快捷键.不清楚为什么VSCode不提供统一的快捷键,但对于我来说,我很想 ...
- 源码解析 || ArrayList源码解析
前言 这篇文章的ArrayList源码是基于jdk1.8版本的源码,如果与前后版本的实现细节出现不一致的地方请自己多加注意.先上一个它的结构图 ArrayList作为一个集合工具,对于我而言它值得我们 ...