Docker安装Nexus3搭建Maven私服

一、安装Docker(注:新环境【阿里云CentOS 7.9 64位】下安装)

1、 yum包更新到最新

yum update

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

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

3、 设置yum源(配置阿里云镜像)

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

4、 安装docker, 出现输入的界面都按y

yum install -y docker-ce

5、 查看docker版本, 验证是否验证成功

docker -v

二、配置镜像加速器

1、 获取镜像加速器

##可从阿里云服务器账号查找获得(需要注册阿里云账号)。

 

docker 搭建maven仓库 docker安装maven_docker

 

 

2、 配置加速器

按照上图中的操作命令执行即可。命令如下:

##创建目录
sudo mkdir -p /etc/docker
##创建文件并写入加速器
sudo tee /etc/docker/daemon.json <<- 'EOF'
{
"registry-mirrors": ["https://pnq56v3h.mirror.aliyuncs.com"]
}
EOF
##重新加载并启动docker
sudo systemctl daemon-reload 
sudo systemctl restart docker

3、 启动Docker

##启动
systemctl start docker
##重启
systemctl restart docker
##关闭
systemctl stop docker

三、安装Docker-compose

1、 下载Docker-compose二进制文件

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2、 添加执行权限

sudo chmod +x /usr/local/bin/docker-compose

3、 查看docker版本, 验证是否验证成功

docker-compose --version

四、安装nexus3

1、 查询Nexus镜像

docker search nexus3

 

 2、 拉取镜像(选择第一个镜像)

docker pull sonatype/nexus3

3、 修改镜像名称

##选择性步骤,可以不修改
docker tag sonatype/nexus3 nexus3

4、 运行容器

##创建宿主机和容器的目录挂载文件夹
mkdir -p /srv/nexus/data
##给宿主机映射目录赋予权限,不然启动容器时会报错,权限不足
chmod -R 777 /srv/nexus/
##运行容器
docker run -d -p 8081:8081 -p 5000:5000 --name nexus3  -v /srv/nexus/data:/nexus-data --restart=always nexus3

5、 访问并登录Nexus

##访问地址(IP地址换成自己的地址即可):http://192.168.1.10:8081/

注意:首次登录的账户是admin,但是密码是在/srv/nexus/data目录下的一个admin.password文件。通过以下命令可查看:

cat admin.password

 

docker 搭建maven仓库 docker安装maven_docker 搭建maven仓库_02

 

 6、 拷贝上一步获得的密码,登录系统后,先要求设置新的密码。新密码设置后,即可进入系统。注意:首次登录系统后,上一步的admin.password文件会自动删除。

7、 配置私有仓库地址

vim /etc/docker/daemon.json
##追加以下内容,多条注意增加“,”
{
"insecure-registries": ["192.168.1.10:5000"]
}
##重新加载启动
sudo systemctl daemon-reload
sudo systemctl restart docker

8、 Nexus私服配置

(1)查看我们Nexus私服的地址

点击 maven-public 一行的copy,将地址复制保存

docker 搭建maven仓库 docker安装maven_Maven_03

 

 2. 修改maven的settings.xml文件

找到 settings.xml 文件,打开,需要添加两个部分:

第一个部分

配置nexus私服地址,<url>标签的地址是 maven-public 上面复制的地址

<!-- Nexus私服配置 -->
<profile>
    <id>dev</id>
    <repositories>
        <repository>
            <id>nexus</id>
            <url>http://localhost:8081/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
</profile>

第二个部分

配置 Nexus私服发布的用户名密码,和私服登录密码一致

<!-- Nexus私服发布的用户名密码 -->
</servers>
  <server>  
    <id>maven-releases</id>  
    <username>admin</username>  
    <password>123456</password>  
  </server>  
  <server>  
    <id>maven-snapshots</id>  
    <username>admin</username>  
    <password>123456</password>  
  </server> 
</servers>

ok,settings.xml的配置就完成了。

2. 配置pom.xml文件

同理复制下图地址

docker 搭建maven仓库 docker安装maven_Maven_04


pom.xml新增内容

<!--私服仓库-->
<distributionManagement>
    <repository>
        <id>maven-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://localhost:8081/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>maven-snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://localhost:8081/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

ok,pom.xml的配置就完成了,可以编写代码测试了(测试成功,步骤略)。

(扩充:若以上配置后,依然无法访问私服,则检查Nexus的角色权限)

第一步:Nexus默认的角色是针对nx的库,而maven的库是没有配置的,可以新建一个“maven-all”的角色,把maven的相关权限添加即可。(如图)

docker 搭建maven仓库 docker安装maven_Docker_05

docker 搭建maven仓库 docker安装maven_docker 搭建maven仓库_06


 第二步:给用户赋予“maven-all”的角色即可。