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: 能够组合多个仓库为一个地址提供服务
hosted类型
http 端口: 8082, 安装nexus开放的8082
给基本信息, 点 Create repositories
创建完成
proxy类型
remote storage:registry-1.docker.io
docker index: Use Docker Hub
点 Create repositories
创建完成
group类型
http 端口: 8083, 安装nexus开放的8083
group: 选择刚刚创建hosted,proxy 仓库,放右边
点 Create repositories
创建完成
没有使用SSL证书和域名,需要修改下 Realms
中的配置
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
代表成功了
下载镜像测试
docker pull 192.168.202.130:8083/mysql
在nexus中查看