docker安装nexus3,搭建私人maven仓库

安装nexus3,搭建私人maven仓库

docker中安装nexus3,docker安装默认你会。

安装 (建议用这条)

#创建docker卷
docker volume create --name nexus-data
#安装
docker run --restart=always -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus3

或者这样安装

# 或者 指定CONTEXT(没必要,后面nginx可以转)
docker run -d -p 8081:8081 --name nexus -e NEXUS_CONTEXT=nexus sonatype/nexus3

# 或者 映射物理机目录
mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data
docker run --restart=always -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3

# 或者 指定内存,兼容内存小的电脑,可以限制到1024
docker volume create --name nexus-data
docker run --restart=always -d -p 8081:8081 --name nexus -e NEXUS_CONTEXT=nexus -e INSTALL4J_ADD_VM_PARAMS="-Xms1024m -Xmx1024m -XX:MaxDirectMemorySize=1024m -Djava.util.prefs.userRoot=/some-other-dir" -v /some/dir/nexus-data:/nexus-data sonatype/nexus3

nexus3使用

浏览器打开:http://地址:8081/

第一次登录:
账号:admin
密码:进入容器(docker exec -it nexus bash)输入命令(cat /nexus-data/admin.password)查看

点击设置,创建用户:

在这里插入图片描述
在这里插入图片描述

创建仓库

退出admin账户,切换到刚刚创建的用户
然后点击创建仓库
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

提交代码到仓库

在这里插入图片描述

在这里插入图片描述

设置maven-public仓库包含自己的仓库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在maven或者gradle中,设置自己仓库地址

在这里插入图片描述

扩展

nginx 添加 https证书 反向代理nexus

ip绑定域名后,申请https证书,并且把证书放到nginx下,nginx配置如下

upstream nexus-server{
    
    
    server 127.0.0.1:8081;
}

server {
    
    
    listen 80;
    server_name xx.xx;
    location / {
    
    
        return 301 https://xx.xx;
    }

    location ~ /.well-known {
    
    
        root /tmp;
    }
}

server {
    
    
    listen 443 ssl;
    server_name  localhost;
    
    ssl_certificate      /etc/nginx/server.crt;
    ssl_certificate_key  /etc/nginx/server.key;
    ssl_session_timeout  5m;
    client_max_body_size     50m; #文件大小限制,默认1m

    location /nexus {
    
    
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto "https";
        proxy_pass http://nexus-server/nexus;
    }
    
    location /repository {
    
    
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto "https";
        proxy_pass http://nexus-server/nexus/repository/maven-public/;
    }
}

注意:location 的值必须等于创建时候context。如:location /nexus 创建时: NEXUS_CONTEXT=nexus

猜你喜欢

转载自blog.csdn.net/Yu1441/article/details/125186555