日志.利用 Docker 搭建 Nexus 仓库私服

本文最后更新于:2020年8月24日 凌晨

准备

  1. Docker
  2. Nexus 镜像

拉取和启动 Nexus

1. 拉取镜像

docker pull sonatype/nexus3

2. 启动

/*
 * -d       后台运行
 * -p       指定端口映射:主机(宿主)端口:容器端口
 */
docker run -d -p 8081:8081 sonatype/nexus3

这里的启动是暂时的,无法保存设置等(设置的代理仓库,密码),stop 后再重新启动就会像第一次打开一样

# 数据持久化操作
# 1. 创建数据卷
docker volume create --name nexus-data

# 2. 在启动容器的时候绑定数据卷
# --name   命名容器,方便下次指定启动(直接:docker start nexus)
# -v       绑定数据卷
docker run -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus3

3. 获取登录密码

Nexus 从 3.x 开始,密码不再固定,而是设备生成并保存在 admin.password 文件

# 执行命令进入一个交互的终端页面
docker exec -it 容器id bash

# 根据情况找到安装目录,下面我 docker 下的 newxus 的安装目录
cd /opt/sonatype/sonatype-work/nexus3/

# 查看密码 
vi admin.password

不要通过 exit 或者 ctrl+d 退出交互,这样会连带着 容器 一并 stop

快捷键退出交互:ctrl + p + q

然后稍等一会,直接访问:http://localhost:8081/,就可以使用了

账号:admin

密码:admin.password 的文本内容

4. 后续使用

如果是长久使用的,建议一开始就直接

  1. 绑定数据卷启动,不然数据不会得到存储,每次启动都是个新的仓库(需要重新设置密码,代理仓库等)
  2. 容器启动时指定 name
  3. 轻轻松松执行
    docker run name
  4. 如果是 Docker Hub 还可以界面操作启动
    Docker Hub 容器目录

代理且使用仓库

若是搭建为了本地电脑使用,建议打开 “匿名访问服务器” 选项
Nexus 匿名访问服务器

分类 说明
group 仓库组合,多个仓库组合为一个地址提供服务
hosted 本地仓库,像官方仓库一样提供本地私有仓库功能
proxy 代理其他仓库

注:以下教程是按照本人开发环境设置写录,请根据需要参考修改

创建仓库

需要代理的地址
国内公开的代理仓库

备份数据

直接备份数据卷即可。
可以参考:日志.Docker 关于备份的一些小事