docker搭建nexus3配置docker私有仓库
拉取镜像启动容器
-
查找镜像
docker search nexus
-
选取使用次数较多的 sonatype/nexus3
-
查看镜像版本
https://hub.docker.com/ -
选取使用sonatype/nexus3:3.31.1
docker pull sonatype/nexus3:3.31.1
-
启动镜像
# 在/mnt下新建nexus3文件夹, 并给予权限 # 如果服务器有防火墙记得开放28081端口 # nexus3服务web端口为8081,其余4个端口为预留端口,在web配置时会用到 chmod 777 nexus3 docker run -d --name nexus3 --restart=always -p 28081:8081 -p 28082:8082 -p 28083:8083 -p 28084:8084 -p 28085:8085 -v /mnt/nexus3:/nexus-data sonatype/nexus3:3.31.1
-
查看容器日志
docker logs nexus3
-
进入容器
docker exec -it nexus3 /bin/bash cd /opt/sonatype/sonatype-work/nexus3/ # 查看admin 临时密码,修改密码后admin.password文件会消失 cat admin.password
WEB配置
- 访问127.0.0.1:28081, 使用admin和上方查询到的临时密码登录
- 初次登录会提示修改密码
- 禁用匿名访问
- 初始配置完成
创建Blob stores
- 先创建Blob stores,指定文件存储目录
- type选择File,name随意,path会根据name自动生成
- 如上所示,一个默认的一个刚创建的,也可以不创建,使用默认的
nexus仓库
- 如下所示,默认不存在docker仓库,需要手动创建
- 所有仓库分为三类,type列
- proxy:代理仓库 负责代理远程中央仓库
- hosted:托管仓库 负责本地资源
- group:组仓库 = 代理仓库 + 托管仓库。
创建proxy repository 代理仓库
- 如下,选择docker(proxy)
- Remote storage 使用默认的 https://registry-1.docker.io
创建hosted repository 托管仓库
- 选择docker(hosted)
创建group repository组仓库
- 选择docker(group)
为docker配置Realm
连接仓库
-
注意:此处只用了 hosted:托管仓库 负责本地资源,所以以下端口都是用的hosted所配置的8082映射的28082,如果有防火墙请开放28082端口,因在本机测试,所用ip均为127.0.0.1,可以替换为nexus3所在ip
-
因为我们使用的是http而不是https,客户端需要配置 /etc/docker/daemon.json
vim /etc/docker/daemon.json # 增加 hosted所设置的端口 { "insecure-registries": ["127.0.0.1:28082"] } systemctl restart docker
-
登录仓库
docker login -u admin -p admin@123 127.0.0.1:28082
-
上传镜像
# 打包 docker tag sonatype/nexus3:3.31.1 127.0.0.1:28082/sonatype/nexus3:3.31.1 docker push 127.0.0.1:28082/sonatype/nexus3:3.31.1
-
拉取镜像
docker pull 127.0.0.1:28082/sonatype/nexus3:3.31.1
-
搜索镜像
docker search 127.0.0.1:28082/sonatype/nexus3:3.31.1
总结
- 后续~