Nexus是一个多功能的仓库管理器,是企业常用的私有仓库服务器软件。目前常被用来作为Maven私服、Docker私服。本文基于Nexus 3.5.2-01
版本进行讲解。
前往:https://www.sonatype.com/download-oss-sonatype ,根据操作系统,下载对应操作系统下的安装包即可。
Nexus在不同系统中安装略有区别,但总体一致。下面以在Linux系统中的安装为例说明:
创建一个Linux用户,例如:nexus
useradd nexus
解压Nexus安装包,为将解压后的文件设置权限,并修改属主为nexus用户
chmod -R 755 *
chown -R nexus:nexus *
将目录切换到$NEXUS_HOME/nexus-3.5.2-01/bin
目录
需改nexus.rc
文件,将其内容改为:
run_as_user="nexus"
表示使用nexus用户启动Nexus。
如提示文件限制,可参考博文:http://www.cnblogs.com/zengkefu/p/5649407.html 进行修改。
执行如下命令,查看Nexus为我们提供哪些命令。
./nexus --help
可显示类似如下的内容:
Usage: ./nexus {start|stop|run|run-redirect|status|restart|force-reload}
指定如下命令,即可启动Nexus
./nexus start
稍等片刻,Nexus即可成功启动。
Nexus提供了默认的管理员账户,账号密码分别是admin/admin123。用户可自行修改该默认账号密码。
下面,我们需要为Docker指定使用Nexus仓库。
修改/etc/docker/daemon.json
,在其中添加类似如下的内容。
{
"insecure-registries" : [
"192.168.1.101:8082"
]
...
}
重启Docker
docker login 192.168.1.101:8082
即可登录私有仓库。然后,我们就可进行pull、push操作了。
在某些版本的Nexus中,例如( Nexus 3.15.2-01
)执行docker login
命令后,可能会报如下异常:
Error response from daemon: login attempt to http://10.21.52.165:8082/v2/ failed with status: 401 Unauthorized
这种问题应该如何解决呢?
只需添加 Docker Bearer Token Realm
即可,如下图所示:
参考文档:https://groups.google.com/a/glists.sonatype.com/forum/#!topic/nexus-users/Vc7_yRxR4jw
地址:https://store.docker.com/community/images/sonatype/nexus3
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
为启动的容器映射端口:http://blog.csdn.net/github_29237033/article/details/46632647