019.nexus搭建docker镜像仓库/maven仓库

一、安装docker CE

  参考docker doc

  https://docs.docker.com/install/linux/docker-ce/centos/

 

二、docker启动nexus3

# 1.登录docker hub
docker login

# 2.拉取nexus3镜像
docker pull sonatype/nexus3

# 3.查看镜像
docker images

# 4.启动nexus3
docker run -id --name=nexus3 \
--privileged=true \
--restart=always \
-p 8081:8081 \
-p 10000:10000 \
-p 10010:10010 \
-p 10020:10020 \ 
-v /opt/nexus3/nexus-data:/var/nexus-data \
836c51250912

# 将容器的10000 10010 10020端口映射到host机, 这些端口作为后续nexus3创建的docker镜像仓库支持docker访问的端口


# 5.查看nexus3日志
docker logs -f nexus3

 

三、启动nexus失败的问题

   如果服务器内存太小导致nexus无法启动,可以启用swap

   https://www.cnblogs.com/wuxie1989/p/5888595.html

   https://www.cnblogs.com/kerrycode/p/5246383.html

   https://www.cnblogs.com/bingyeh/p/5913486.html

 

  

Part one: nexus搭建docker镜像仓库

一、nexus3创建docker镜像仓库及用户、角色

  • 使用默认管理账号密码登录nexus3管理界面

  https://www.jianshu.com/p/77af52a75ad8 

  https://segmentfault.com/a/1190000015629878

 

  登录地址: http://服务器ip:8081

 

  • 三种类型的docker镜像仓库

  hosted、proxy、group

  

  设置可以被docker-cli直接访问的端口(启动nexus容器的时候需要将这些端口暴露到host机); 

  

 

 

  • 设置角色、创建用户

   创建角色、设置角色的权限;

  

 

  角色可以继承

  

 

  

 

  创建用户,为用户分配角色;

  

 

 

二、通过docker-cli使用镜像仓库

  • 设置docker-daemon的 insecure-registries

 

# 1.查看docker-daemon配置文件
systemctl status docker.service

# 2.修改配置文件
vi /usr/lib/systemd/system/docker.service

# ExecStart=/usr/bin/dockerd --insecure-registry 47.116.91.161:10000 --insecure-registry 47.116.91.161:10010 --insecure-registry 47.116.91.161:10020   -H fd:// --containerd=/run/containerd/containerd.sock


# 3.重启docker-daemon systemctl daemon-reload # 4.重启docker systemctl restart docker

 

  •  登录到nexus3搭建的docker镜像仓库

  docker login xxx:xxx:xxx:xxx:10010

 

 

 

Part Two: nexus搭建maven仓库

https://www.cnblogs.com/dreamroute/p/5440419.html

https://blog.csdn.net/ZZY1078689276/article/details/78953011

一、配置mavensettings.xml

安装完成的nexus已经创建了4个maven仓库

 

 
## 私服的id需要与nexus仓库id保持一致
   <server>
        <id>maven-releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>

 

 

二、修改项目pom.xml

## repository的id与ssettings.xml server id 一致
    <distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>Nexus-Release-Repository</name>
            <url>http://xx.xxx.xx.xxx:8081/repository/maven-releases/</url>
        </repository>
    </distributionManagement>

 

三、maven build... > goals: deploy

 jar包即可安装到本地仓库即上传到私服

 

四、SNAPSHOT版本

  • release正式仓库则是用来保存稳定的发行版本。

    编译打包时如果发现本地已经存在该版本的模块,则不会再去私服下载。

  • snapshot快照仓库用于保存开发过程中的不稳定版本,

    定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写);

    mvn deploy时会自动发布到快照版本库中;

    其他工程使用该快照版本的模块如1.0-SNAPSHOT,即使本地仓库存在该快照版本模块1.0-SNAPSHOT,maven仍会自动从私服下载最新的快照版本。

    实际上发布到快照仓库后,Version为1.0-发布时间。

 

 

posted @ 2019-05-15 22:10  badboyh2o  阅读(2239)  评论(0编辑  收藏  举报