docker 安装私有仓库nexus

703 阅读2分钟

Nexus是一种特殊的远程仓库,它是架在局域网内的仓库服务。可以用于局域网中搭建docker、maven私有仓库。

1. nexus安装

#创建挂载目录
mkdir -p /opt/nexus/data && chmod 777 /opt/nexus/data

docker-compose.yml

version: '3.0'
services:
  nexus:
    restart: always
    image: sonatype/nexus3
    container_name: nexus3
    volumes:
      - /opt/nexus/data:/nexus-data
    ports:
      - "8081:8081"
      - "8082:8082"
      - "8083:8083"
      - "8084:8084"
    environment:
      - "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
      - TZ=Asia/Shanghai
# 安装,需要2-3分钟
docker-compose up -d

2. 浏览器访问 http://ip:8081/

登录docker容器查看密码

docker exec -it nexus3 cat /nexus-data/admin.password && echo

登录成功后,修改密码,就可以去创建自己的仓库了,

maven会自动创建仓库,就不新建了。创建docker仓库

3.创建docker仓库

仓库有3种类型

hosted:本地存储。像官方仓库一样提供本地私库功能

proxy:提供代理其它仓库的类型

group: 能够组合多个仓库为一个地址提供服务

image.png

hosted类型

http 端口: 8082, 安装nexus开放的8082

给基本信息, 点 Create repositories 创建完成

image.png

proxy类型

remote storage:registry-1.docker.io

docker index: Use Docker Hub

Create repositories 创建完成

image.png

group类型

http 端口: 8083, 安装nexus开放的8083

group: 选择刚刚创建hosted,proxy 仓库,放右边

Create repositories 创建完成

image.png

没有使用SSL证书和域名,需要修改下 Realms 中的配置

image.png

4. centos 连接测试

修改 vim /etc/docker/daemon.json

{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": [
    "192.168.202.130:8082",
    "192.168.202.130:8083"
   ]
}

重启docker

systemctl daemon-reload
systemctl restart docker

登录nexus

# 修改下自己密码
docker login -u admin -p admin 192.168.202.130:8082
docker login -u admin -p admin 192.168.202.130:8083

Login Succeeded 代表成功了

image.png

下载镜像测试

docker pull 192.168.202.130:8083/mysql

在nexus中查看

image.png

文档中注意换成自己IP