Docker 部署Nexus3

847 阅读2分钟

「这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战

前言

依赖太多外部npm包有一个风险,如果第三方包删除了那可能就会影响到我们的项目,所以可以搭建个属于自己或者自己公司的npm私有库

先学习下Nexus3是个什么?

Nexus3是一个仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。

  • 支持代理远程仓库,也支持维护本地仓库,节省带宽
  • 基于REST,友好的UI界面,提供了强大的仓库管理功能
  • 支持WebDAV 与LDAP安全身份认证
  • 不使用数据库,使用文件系统 加 Lucene 来组织数据,给用户“开箱即用”的体验

使用Docker部署Nexus3

没有虚拟机,或没有服务器的可以使用docker来练手学习

使用docker-compose文件部署Nexus,新建一个docker-compose.yml文件

version: 3 #指定docker-compose语法版本,版本不用,支持docker也不同
services:
  nexus:
    restart: 'no' #容器重启的策略,有no、always、no-failure
    image: 'sonatype/nexus3' #容器依据的镜像
    contrainer_name: nexus #容器名
    ports:
      - 8081:8081 # nexus Web页
      - 8082:8082 # docker(hosted)私有库 可pull 和 push
      - 8083:8083 # docker(proxy)代理远程仓库,只能 pull 
      - 8084:8084 # docker(group)私有仓库和代理的组,只能 pull
    volumes: #数据卷 本地地址:容器内部地址 映射关系
      - /docker_data/nexus_data:/nexus-data    
  

其中,相关参数的说明都在进行了注释说明,部分属性是支持修改成自己的值

其中,Valumes:数据卷,数据映射到本地文件,主要是为了使得容器和虚拟机器数据共享,防止每次启动容器时,容器里的数据丢失

  • 先指定虚拟机与容器共享的文件
  • 谁权限,否则部署时会权限错误,导致启动不起来。可能会需要修改文件夹权限。设置权限:chmod 777 /usr/local/docker/nexus/nexus_data
  • 初始密码在此/var/data/nexus-data/admin.password路径下

访问:Nexus

  • 管理员登录密码在 /usr/local/docker/nexus/nexus-dataadmin开头的文件中,将其拷贝输入即可。
  • 登录之后会要求修改密码,按要求修改即可。

nexus.png

\