安装docker,并在docker下用nexus3搭建maven私服的方法
更新:HHH   时间:2023-1-7


这篇文章主要介绍“安装docker,并在docker下用nexus3搭建maven私服的方法”,在日常操作中,相信很多人在安装docker,并在docker下用nexus3搭建maven私服的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”安装docker,并在docker下用nexus3搭建maven私服的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、前言

前几天阿里云服务器(低配)86块一年,于是赶紧入手了,主要是拿来练练手,今天就是在这个这台服务器上练了下手搭了一个docker和nexus,当自己的私服用,想着平时可以把一些自己写的一些常用的工具、配置类搞上去。现在梳理一下搭建的流程把。

二、安装docker

(一) 安装依赖

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

(二) 安装 Docker

运行以下命令:

yum install docker

Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,CentOS 系统上可以使用这套脚本安装:

curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh

然后执行docker version查看是否安装完成,如图:

然后启动 Docker:

systemctl enable docker
systemctl start docker

(三)配置镜像加速

另外,我们知道,类似maven,如果我们在国内每次都从官方仓库里面去下镜像是很慢的,所以一般也需要配置镜像加速。

vi /etc/docker/daemon.json

打开配置为:

# 填写自己的加速器地址
{
    "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}

注意了,我是使用的阿里云镜像加速,实际上还有其他站点,阿里云加速地址需要去阿里云登录后获取,获取地址为阿里云镜像加速地址获取,如图:

把这个地址复制到daemon.json就行了。然后重启daemon和docker服务:

systemctl daemon-reload
systemctl restart docker

(四)docker常用命令总结

概念性的知识我就不介绍了,我也正在学习,这里总结一下常用命令:

  • docker search 关键词:搜索镜像

  • docker pull xxx:下载镜像

  • docker images:查看本地有哪些镜像

  • docker rm container_name/container_id:删除镜像

  • docker run -t -i container_name/container_id /bin/bash:运行容器中的镜像,并且调用镜像里面的 bash

  • docker ps -a:查看有哪些容器在运行

  • docker start container_name/container_id:运行容器

  • docker stop container_name/container_id:停止容器

  • docker restart container_name/container_id:重启容器

  • docker attach container_name/container_id:进入容器

  • exit:退出容器

  • docker rm container_name/container_id:删除容器

三、docker下安装nexus3

(一)查找nexus3镜像

docker search nexus3

我是下的这个:

(二)拉取镜像

docker pull docker.io/sonatype/nexus3

看拉下来没有可以执行:

docker images

(三)执行镜像

docker run -d -p 8081:8081 --name nexus3 --restart=always sonatype/nexus3

这里的参数分别表示:

  • -d:表示在docker守护线程运行这个镜像;

  • -p:表示绑定端口,前面的端口表示宿主机端口,后面的表示容器端口,如果宿主机的8081端口已经被占用了,那么可以改为8082:8081,为什么后面的是8081端口?这是Nexus服务自己设定的,可以修改,但是跑docker的话没必要了,下面都是以8081为nexus的端口;

  • --restart=always:这个指定docker重启启动容器,当服务器或者docker进程重启之后,nexus容器会在docker守护进程启动后由docker守护进程启动容器,容器的重启策略很多,大家可以自己去看看对应的资料;

  • --name <container-name>:这里是指定了容器建立后的名称;

  • 最后面的sonatype/nexus3是镜像名。

如果需要查看日志执行:

docker logs nexus3

(四)进入nexus

访问你的服务器地址+端口8081进入nexus管理后台。

这里可能会遇到两个问题:

第一个问题是阿里云服务器端口必须要配置一下外网才可以访问。

第二个问题是密码错误的问题。

默认nexus的账号和密码是admin/admin123,但是不知道为什么可能是版本原因我这里下的nexus需要默认密码要进入容器内去找,怎么查看勒,执行:

docker exec -it 容器id或者容器名 /bin/bash

容器id或容器名通过docker ps -a查看。

然后cd到nexus-data目录,cat admin.password,查看密码:

将密码复制出来,进行登录就可以了。

(五)创建仓库

然后登录nexus,根据需要创建自己的仓库或者就用默认的仓库也行,我是创建了一个新的仓库,如果需要创建依次点击如图:

选择maven2(hosted)

不同的类型区别是:

  • hosted:本地存储。像官方仓库一样提供本地私库功能

  • proxy:提供代理其它仓库的类型

  • group:组类型,能够组合多个仓库为一个地址提供服务

然后创建仓库,用默认设置就行:

(六)将仓库地址copy出来

接下来把刚刚的仓库地址copy出来就行了。

四、设置maven的setting.xml以及pom文件并上传jar包

(一)配置setting.xml

注意了,这里的id必须与设定下载jar主仓库的<repositories>标签和设定发布仓库的<distributionManagement>标签内的id保持一致。

设置下载Jar仓库可以在Pom里面写也可以在setting.xml里面写,在setting.xml写表示全局,我是在setting.xml里面写的:

<profiles>标签下添加:

<profile>
		<id>my-nexus</id>
		<repositories>
			<repository>
			<id>my-nexus</id>
			<name>my-nexus</name>
			<url>刚刚复制的仓库地址</url>
			</repository>
		</repositories>
</profile>

<activeProfiles>标签下添加:

<activeProfile>my-nexus</activeProfile>

然后如果需要上传到私服,配置pom:

<distributionManagement>
   <repository>
      <id>my-nexus</id>
      <url>你的仓库地址</url>
   </repository>
</distributionManagement>

以上保证repository标签下的Id和server下的id一样就行。

配置好了就可以使用maven打包了,我是用的idea自带的maven插件直接deploey就行了:

到此,关于“安装docker,并在docker下用nexus3搭建maven私服的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注天达云网站,小编会继续努力为大家带来更多实用的文章!

返回大数据教程...