学习docker(5-2) docker 搭建个人镜像仓库nexus3

前言:

使用 Docker 官方的 Registry 创建的仓库面临一些维护问题。比如某些镜像删除以后空间默认是不会回收的,需要一些命令去回收空间然后重启 Registry 程序。在企业中把内部的一些工具包放入 Nexus 中是比较常见的做法,最新版本 Nexus3.x 全面支持 Docker 的私有镜像。所以使用 Nexus3.x 一个软件来管理 Docker , Maven , Yum , PyPI 等是一个明智的选择。

 

安装

1. 拉取当前最新版本

docker pull sonatype/nexus3:3.19.1

2.运行



docker run -d --name nexus3 --restart=always  -p 8081:8081 -p 8082:8082 --mount src=nexus-data,target=/nexus-data  sonatype/nexus3:3.19.1

 

3.访问登录 http://127.0.0.1:8081/

4.登录,然后修改密码

用户名:admin

密码:

# 进入容器,查看随机生成的密码
docker exec -it [containerId] /bin/bash
cat /nexus-data/admin.password

配置

创建一个私有仓库的方法: Repository->Repositories 点击右边菜单 Create repository 选择 docker (hosted)

  • Name: 仓库的名称
  • HTTP: 仓库单独的访问端口
  • Enable Docker V1 API: 如果需要同时支持 V1 版本请勾选此项(不建议勾选)。
  • Hosted -> Deployment pollcy: 请选择 Allow redeploy 否则无法上传 Docker 镜像。

其它的仓库创建方法请各位自己摸索,还可以创建一个 docker (proxy) 类型的仓库链接到 DockerHub 上。再创建一个 docker (group) 类型的仓库把刚才的 hosted 与 proxy 添加在一起。主机在访问的时候默认下载私有仓库中的镜像,如果没有将链接到 DockerHub 中下载并缓存到 Nexus 中。

 

 

  • hosted : 本地存储,即同docker官方仓库一样提供本地私服功能
  • proxy : 提供代理其他仓库的类型,如docker中央仓库
  • group : 组类型,实质作用是组合多个仓库为一个地址

 

 

 

 菜单 Security->Realms 把 Docker Bearer Token Realm 移到右边的框中保存。

 

 

# 添加私服地址,否则报错:Error response from daemon: Get https://192.168.2.6:8081/v2/: http: server gave HTTP response to HTTPS client

# 8082端口是启动容器时,就设定号的,然后在创建仓库的时候填写该端口

vi /etc/docker/daemon.json

{
 "registry-mirrors": ["https://jleoj1vv.mirror.aliyuncs.com"],
"insecure-registries":["192.168.2.6:5000","192.168.2.6:8082"]

}

systemctl daemon-reload
systemctl restart docker

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值