docker搭建Maven远程仓库

2 篇文章 0 订阅
1 篇文章 0 订阅

1、安装 Docker

Docker 官方建议在 Ubuntu 中安装,因为 Docker 是基于 Ubuntu 发布的,而且一般 Docker 出现的问题 Ubuntu 是最先更新或者打补丁的。在很多版本的 CentOS 中是不支持更新最新的一些补丁包的。

但是这里还是使用CentOS7.X系统做演示,在 CentOS6.x 的版本中,安装前需要安装其他很多的环境而且Docker 很多补丁不支持更新

(1)yum 包更新到最新

sudo yum update

(2)安装需要的软件包, yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(3)设置 yum 源为阿里云

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 (4)安装 docker

sudo yum install docker-ce

(5)安装后查看 docker 版本

 docker -v    

2、拉取并运行nexus镜像

(1)启动docker

systemctl start docker

(2)拉取镜像nexus最新版本的镜像

docker pull sonatype/nexus3:latest

(3)查看镜像 可以看到刚才拉取的镜像

docker images

(4)运行镜像

1.在运行之前先创建一个目录用来存放 Nexus 持久化数据。

mkdir -p /data/nexus  

2.Docker 命令运行 Nexus

docker run -d -p 8081:8081 --name nexus -v /data/nexus:/nexus-data sonatype/nexus3:latest

(5)可能会遇到的问题

讲道理本应该可以正常运行的访问http://服务器ip:8081可以进入仓库,但是我在访问的时候连不上,发现容器一直在重启

1.检查防火墙,先关闭防火墙,发现防火墙压根就没开,与防火墙无瓜

2.打开日志看一下

docker container logs nexus

"mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied\n","stream":"stderr"
"mkdir: cannot create directory '../sonatype-work/nexus3/tmp': Permission denied\n","stream":"stderr"
"OpenJDK 64-Bit Server VM warning: Cannot open file ../sonatype-work/nexus3/log/jvm.log due to No such file or directory\n","stream":"stderr","time":"2019-12-16T12:52:43.714785419Z"

报这种错误,就很尴尬,说没有权限,我们赋予/data/nexus 文件夹权限

chown -R 200 /data/nexus

重新启动容器后,能正常运行

docker stop neuxs
docker start neuxs

3、仓库使用

右上角点击Sign in ,某些版本的账号密码是admin admin123

但是有的版本密码是在系统文件里面的 /nexus-data/admin.password

此时需要进入到容器里面去查看密码(这里会让你设置新的密码,我将账号密码都改成了admin)

docker exec -it nexus /bin/bash
cd nexus-data
vi admin.password

将密码复制出来输入到浏览器即可

4、上传镜像

(1)得到上传的仓库的url

(2)在build.gradle中添加上传配置

uploadArchives {
    repositories.mavenDeployer {
        // 本地仓库路径
        //repository(url: uri('../repo'))
        repository(url: uri('http://192.168.178.128:8081/repository/maven-releases/')){
            authentication(userName: "admin", password: "admin")
        }
        // 唯一标识
        pom.groupId = "com.wahaha"
        // 项目名称
        pom.artifactId = "hhh.android"
        // 版本号
        pom.version = "1.0.0"
    }
}

(3)上传

此时已经上传成功

(4)仓库的使用

在repositories标签下添加刚配置的maven仓库路径

        maven {
            //本地
            //url uri('repo')
            url uri('http://192.168.178.128:8081/repository/maven-releases/')
        }

此时可在项目中使用仓库中的包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值