「这是我参与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-data中admin开头的文件中,将其拷贝输入即可。
- 登录之后会要求修改密码,按要求修改即可。
\