docker部署nexus及配置docker、maven、npm仓库

一、安装docker省略

二、安装JDK省略

三、下载nexus镜像

docker pull sonatype/nexus3

四、创建映射目录

/root/docker/nexus/data

五、运行容器

docker run -d -p 8081:8081 -p 5000:5000 --name nexus -v /root/docker/nexus/data/:/nexus-data sonatype/nexus3
六、报这个错误时候java.io.FileNotFoundException: …/sonatype-work/nexus3/tmp/i4j_ZTDnGON8hezynsMX2ZCYAVDtQog=.lock (No such file or directory)是因为创建的目录没有加所属组
[root@nexus ~]# chown -R 200 /root/docker/nexus/data/

七、页面访问

http://192.168.206.132:8081

image.png

八、登陆

默认账户和密码是:admin/admin123
但是版本的不同,有的密码不一样,所以需要查看admin.password
如果此容器/nexus-data路劲没有映射到宿主机,则需要进入容器查看
docker exec -it 容器名 /bin/bash

九、docker仓库配置

image.png

选择仓库类型 这里选择hosted类型 如图

image.png

配置仓库,如图
该仓库指定一个唯一的名称、HTTP的端口、允许交互的API等

image.png

添加组,如图

image.png
image.png

十、客户端连接测试

首先配置docker认证
vim /etc/dokcer/daemon.json
{
  "insecure-registries": ["192.168.206.132:5000"]
}

[root@nexus data]# systemctl daemon-reload
[root@nexus data]# systemctl restart docker
[root@nexus data]# docker login -uadmin -p 'liuchao666888' 192.168.206.132:5000
注意:如果登陆不上
报错如下:Error response from daemon: login attempt to http://192.168.241.130:5000/v2/ failed with status: 401 Unauthorized
是因为没有授权、解决方法如图1,如果使用别的用户也报这个错误时候,解决方法如图二

图一.png
图二.png

十一、配置maven仓库

1.点击配置、点击Repositories,然后新建一个Maven(proxy)仓库
2.设置name和url地址

在这里插入图片描述

3.设置软件代理
点击System,找到HTTP,设置http代理,此代理作用是可以联网下载包

在这里插入图片描述

设置public仓库
把刚才的maven-aliyun添加到public中,设置在central上面,优先选择私有仓库以及aliyun,最后才是国外的网站

在这里插入图片描述

本地maven使用
本地maven的settings.xml文件配置如下
<servers>
    <server>
            <id>maven-releases</id>
            <username>maven</username>
            <password>@!#liumaven@132</password>
        </server>
        <server>
            <id>maven-public</id>
            <username>maven</username>
            <password>@!#liumaven@132</password>
        </server>
</servers>
<mirrors>
    <mirror>
        <id>maven-public</id>
        <name>maven-public</name>
        <url>http://192.168.206.132:8081/repository/maven-public/</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>
项目的pom文件配置
1.上传文件配置(管理人员才可以上传文件)
<distributionManagement>
    <repository>
        <id>maven-releases</id>
        <name>Maven Releases</name>
        <url>http://192.168.206.132:8081/repository/maven-releases/</url>
    </repository>
</distributionManagement>
上传使用:mvn clean deploy
下载文件配置(开发人员使用)
<repositories>
    <repository>
        <id>maven-public</id>
        <name>Maven Public</name>
        <url>http://192.168.206.132:8081/repository/maven-public/</url>
        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>
maven打包
首先下载项目:git clone 项目地址  //文件路劲自定义
进入pom.xml所在的文件路劲下:mvn clean && mvn package  //会产生一个新文件夹,进入之后就能看见jar包
上传到maven仓库:mvn deploy:deploy-file -DgroupId=com.jz.tss.service -DartifactId=tss-service -Dversion=1.9.02-SNAPSHOT -Dfile=E:/Workspace/tss-service/build/oracle/TSS-Service/WEB-INF/lib/TSS-Service.jar -Durl=http://仓库Ip:port/nexus/content/repositories/snapshots/ -DrepositoryId=Snapshots
##字段意思
-Dmaven.test.skip=true                            //跳过编译、测试
-Dfile=D:\MvnProject\service-mvn-1.0.0.jar       //jar包文件地址,绝对路径
-DgroupId=pri.roy.mvn.test                      //gruopId--pom坐标,自定义
-DartifactId=mvn-api                           //artifactId--pom坐标,自定义
-Dversion                                     //版本号
-Dpackaging                                  //打包方式
-DrepositoryId                              //远程库服务器ID
-Durl                                      //远程库服务器地址
maven实现打包带源代码的jar包
实现方法一:
pom文件添加以下及节点
<build>
   <resources>
      <resource>
    <directory>src/main/java</directory>
      </resource>     
    </resources>
</build>
说明:默认的资源文件夹是src/main/resource,此方法修改了资源文件夹,让你默认的资源文件夹变成了src/main/java文件夹。而这个文件夹在maven中是默认放置源代码的。
缺点:修改之后,src/main/resource文件夹就不是资源文件夹了,放在里面的文件将不会被当作资源
实现方法二:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.3</version>
    <executions>
    <execution>
        <id>copy-resources</id>
        <phase>process-resources</phase>
        <goals>
        <goal>copy-resources</goal>
        </goals>
        <configuration>
        <outputDirectory>${project.build.outputDirectory}</outputDirectory>
        <resources>
            <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.java</include>
            </includes>
            </resource>
        </resources>
        </configuration>
    </execution>
    </executions>
</plugin>
十二、npm仓库配置
打开nexus,登录以后,按照下图操作

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

先创建hosted,填写名称,选择存储空间,点击创建

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

创建group 填写name 选择存储空间,将hosted 和proxy加入进来 点击创建
仓库越靠上优先级越高,如果私有仓库在上,用户下载npm包的时候会优先下载私有仓库中的,
如果私有仓库没有再去代理仓库中下载。

在这里插入图片描述

创建npm用户

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

添加角色权限

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

添加realms

在这里插入图片描述

查看仓库地址

在这里插入图片描述

登录npm仓库(输入创建的用户名和密码、邮箱即可
[root@localhost ~]# npm login
name: npm
password: 123
email: npm@163.com
查看仓库地址
[root@localhost test]# npm config get registry
更改npm仓库中proxy地址,默认为npmjs,改为https://registry.npm.taobao.org
在本地设置npm仓库地址(本地有从本地下载,如果无就走taobao仓库)
npm config set registry http://192.168.206.132:8081/repository/npm-repo-proxy
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值