jar容器部署成功无法访问_Ubuntu部署和体验Nexus3

关于Nexus

如下图,在局域网部署了Nexus之后,可以缓存中央仓库的jar,开发者开发的二方库发布到Nexus上,局域网内的其他人也可以从Nexus下载这些二方库使用:

dc8a166509231ac01ba0e90114dfc2f3.png

环境信息

本次实战是在Linux服务器上通过Docker安装Nexus3:

  1. 操作系统:Ubuntu 18.04.3 LTS
  2. Docker:19.03.5
  3. Nexus:3.19.1

    安装docker

  4. apt更新:
    apt-get update
  5. 安装curl:
    apt-get install -y curl
  6. 安装docker:
    curl -sSL https://get.docker.com | sh
  7. 安装完成后,检查docker是否正常:
    root@hedy:~# docker version
    Client: Docker Engine - Community
    Version:           19.03.5
    API version:       1.40
    Go version:        go1.12.12
    Git commit:        633a0ea838
    Built:             Wed Nov 13 07:29:52 2019
    OS/Arch:           linux/amd64
    Experimental:      false
    

Server: Docker Engine - Community Engine: Version: 19.03.5 API version: 1.40 (minimum version 1.12) Go version: go1.12.12 Git commit: 633a0ea838 Built: Wed Nov 13 07:28:22 2019 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.10 GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339 runc: Version: 1.0.0-rc8+dev GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657 docker-init: Version: 0.18.0 GitCommit: fec3683

### 部署Nexus3
1. 创建工作目录并赋权限:
```shell
mkdir -p /usr/local/work/nexus-data && chown -R 200 /usr/local/work/nexus-data
  1. 下载Nexus镜像并创建容器: ```shell docker run -d

-p 8081:8081
--name nexus
-v /usr/local/work/nexus-data:/nexus-data
sonatype/nexus3:3.19.1

上述命令的参数较多,有几点需要注意:
a. 容器的8081端口映射到宿主机的8081端口;
b. 容器名为<font color="blue">nexus</font>;
c. 容器的<font color="blue">/nexus-data/</font>目录被映射到宿主机的<font color="blue">/usr/local/work/nexus-data/</font>;
d. 镜像是sonatype官方的<font color="blue">3.19.1</font>版本;
3. 等待容器创建成功后,Nexus3即部署成功;
### 登录和操作Nexus3
1. 在控制台执行以下命令,即可获得Nexuse3的初始密码:
```shell
echo `docker exec nexus cat /nexus-data/admin.password`

我这里得到的是2c9c5399-d0da-48ec-9050-dc4f43cede10 2. 点击下图右上角红框中的Sign in,进入登录页面:

514185dd8604a9700c04359f41d5849c.png 3. 登录页面如下图,账号admin,密码是刚才获取的2c9c5399-d0da-48ec-9050-dc4f43cede10:

51816a558905ea64bf183f8b10adec81.png 4. 登录成功会提示修改密码,如下图,请修改:

9cb939d10c26f0925b3feb58e8fc927d.png 5. 是否运行匿名访问,这里勾选上:

6cac48595bcf3e4d0004bdb73805acb2.png

角色和账号

在实际使用中,为了安全起见,不能让每个用户使用admin账号,您可以先创建角色,按实际需要给角色增加各种权限,再创建此角色下的账号:

  1. 点击下图红框中的按钮,进入设置页面:

    01e309ee876a7ab25b7c689c90130e99.png
  2. 下图红框中是角色管理页面的链接,您可以按照实际情况创建角色:

    edf4ea131c55927a29b96ea6d644a85a.png
  3. 这里为了简化操作就不新建角色了,而是创建一个管理员角色的账号boling_cavalry,操作如下图所示:

    a463dc791d21e4e8350a0ffb43e1122e.png

至此,Nexus3部署完毕,接下来验证Nexus能否提供jar缓存的功能;

准备两台电脑验证Nexus服务

接下来验证的是Nexus缓存中央仓库jar包的能力,看看有了Naxus,能否让我们在开发和构建过程中更快的下载到所需jar;

  1. 另外准备两台电脑,分别是A电脑和B电脑,用来验证刚刚部署的Nexus3可以缓存中央仓库的jar包(您也可以用虚拟机创建两台电脑);
  2. A、B两台电脑都已经装好了JDK8和Maven3;
  3. 如下图,在仓库列表页面,点击下图红框位置,可以得到maven-central仓库的地址http://192.168.50.75:8081/repository/maven-central/:

    eb5d2e1f0dd1bd0b719d1d1f36888164.png

    修改两台电脑的maven配置文件

    电脑A和电脑B上的maven目录下的conf/settings.xml文件都要做以下修改:
  4. 找到servers节点,增加以下内容:
    <server>
       <id>maven-central</id>
       <username>bolingcavalry</username>
       <password>888888</password>
    </server>
  5. 找到mirrors节点,增加以下内容,其中url的内容就是前面得到的maven-central仓库地址:
    <mirror>
    <id>maven-central</id>
    <mirrorOf>*</mirrorOf>
    <url>http://192.168.50.75:8081/repository/maven-central/</url>
    </mirror>

    在A电脑上编译构建项目(应该很慢)

    在A电脑上编译开源项目spring-cloud-alibaba,此时Nexus上没有缓存任何jar包,所以编译速度会很慢,因为所有依赖jar都要从中央仓库下载,我们来试试:
  6. 登录A电脑,下载spring-cloud-alibaba的2.1.1.RELEASE归档包:
    wget https://github.com/alibaba/spring-cloud-alibaba/archive/v2.1.1.RELEASE.tar.gz
  7. 解压下载的文件:
    tar -zxvf v2.1.1.RELEASE.tar.gz
  8. 进入解压后的目录:
    cd spring-cloud-alibaba-2.1.1.RELEASE/
  9. 编译:
    mvn clean compile -U -DskipTests
  10. 编译完成,如下图红框所示,本次编译耗时9分27秒:

    6c192e81ee2683951211bb41d9fab684.png
  11. 去Nexus网页上看看,如下图,此时已经缓存了不少jar:

    b4d03e47ffd2b6f3ce593427fbd301d1.png

    在B电脑上编译构建项目(应该很快)

    在B电脑上做同样的操作,此时Nexus上已经缓存了编译所需的jar包,所以整个编译过程应该明显变快,最终操作结果如下图所示,仅用了1分零6秒:

    e03ce7d26db048903c48b4b430169e0e.png 至此,Ubuntu上部署和体验Nexus3的实战就完成了,如果您正在寻求简单快捷的Nexus部署方案,希望本文能给您一些参考。

https://github.com/zq2599/blog_demos

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值