<二>企业级开源仓库nexus3实战应用–使用nexus3配置docker私有仓库
1,安装nexus3。
这个地方略了,安装部署可以参考:nexus3安装配置。
2,配置走起。
1,创建blob存储。
登陆之后,先创建一个用于存储镜像的空间。

定义一个name,下边的内容会自动补全。

然后保存。

这里因为我用的测试服务器演示,因此存储没有那么大,实际生产中使用,建议服务器存储500G或以上。
2,创建一个hosted类型的docker仓库。
点击步骤如下:

而后可见:

所支持种类之丰富,可见一斑。
这里我们看到docker类型有三种:
hosted: 本地存储,即同 docker 官方仓库一样提供本地私服功能。proxy: 提供代理其他仓库的类型,如 docker 中央仓库。group: 组类型,实质作用是组合多个仓库为一个地址。
我们先来创建一个hosted类型的私有仓库。
点击 Repository下面的 Repositories – Create repository – docker(hosted) :
Name: 定义一个名称docker-localOnline: 勾选。这个开关可以设置这个Docker repo是在线还是离线。Repository Connectors
- 下面包含HTTP和HTTPS两种类型的port。
- 有什么用呢?说明讲得很清楚:
连接器允许docker客户端直接连接到docker仓库,并实现一些请求操作,如docker pull, docker push, API查询等。但这个连接器并不是一定需要配置的,尤其是我们后面会用group类型的docker仓库来聚合它。
我们把HTTP这里勾选上,然后设置端口为8083。
Force basic authenticationDocker Registry API Support
勾选。这样的话就不允许匿名访问了,执行docker pull或 docker push之前,都要先登录:docker login
- Docker registry默认使用的是API v2, 但是为了兼容性,我们可以勾选启用API v1。
StorageBlob store:我们下拉选择前面创建好的专用blob:idocker-hub。Hosted
- 开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。
整体配置截图如下:

3,创建一个proxy类型的docker仓库。
创建一个proxy类型的仓库
Name: proxy-docker-hubRepository Connectors: 不设置。Proxy
Remote Storage
- : docker hub的proxy,这里填写:
- 这个是官方默认的一个链接,我这里配置使用
- 的容器加速:
Docker Index: Use Docker HubStorage:idocker-hub
整体配置截图如下:

4,创建一个group类型的docker仓库。
name:docker-groupRepository Connectors:启用了一个监听在8082端口的http连接器;Storage:选择专用的blob存储idocker-hub。group: 将左边可选的3个仓库,添加到右边的members下。
整体配置截图如下:

到这儿,nexus3的配置算是完成了,接下来就是使用方面的事情了。
3,小插曲。
大家也看到了上边的截图都是比较长的,这几张图来的并不容易。在获取这些图的过程中,我尝试过自己御用的截图工具,也尝试过Chrome的网页截图,还尝试过其他的各种截图工具,无论是截全屏,还是滚动截图,无所不用其极,却无一能够截出令自己满意的图,哎,都是完美主义(强迫症)做的怪,于是,趁着公司已经夜深无人,我最终通过如下方式截到了心仪的长图。

不为别的,只为把所分享的东西做的足够精致。当然,各位观众朋友如果有更好的截图工具,并且在nexus3这个界面里截出了像我截的那么长的图的话,欢迎在评论区留言分享。
4,常规方式使用。
请注意,这种方式经我测试,总是失败,原因还没查出来。如果有人知道原因是什么,麻烦留言区告知一下。
1,配置
配置/etc/docker/daemon.json, 由于不是https,所以要在daemon.json中配置一下:
- { "insecure-registries":["192.168.157.110:8082"] }
2,重启docker。
- $systemctl daemon-reload
- $systemctl restart docker
3,pull镜像。
- docker pull redis
4,登陆私服。
- docker login -u admin -p admin123 192.168.157.110:8082
5,打标签。
- docker tag docker.io/redis 192.168.157.110:8082/redis
6,push镜像。
- [root@docker ~]$docker push 192.168.157.110:8082/redis
- 然后报错:
- The push refers to a repository [192.168.157.110:8082/redis]
- 902afb26cfff: Layer already exists
- 21497520b817: Layer already exists
- a3514b4102be: Layer already exists
- 714e32c05337: Layer already exists
- d98fb630fb3b: Layer already exists
- 8b15606a9e3e: Layer already exists
- error parsing HTTP 404 response body: unexpected end of JSON input: ""
暂时不知这个报错问题的原因是什么,因为最终没有采用这种方式,所以没有深入探究。
5,nginx代理方式。
以下内容参考张戈博客,中有删改。
在部署 Nginx 部分,我们先需要生成自签名 SSL 证书,因为后面不想在 docker pull 的时候还要带一个端口!这里我们需要 2 个域名,一个用来展示 nexus 前台,另一个用做 docker 仓库,比如:
- nexus 前台:
repo.ald.com - docker 仓库:
idocker.io
1,安装nginx。
先通过curl 192.168.106.10/a | sh安装nginx。
2,生成证书。
生成自签名 SSL 证书的方法网上很多,这里推荐一个一键生成工具,大家可以尝试使用:
<二>企业级开源仓库nexus3实战应用–使用nexus3配置docker私有仓库的更多相关文章
- 2.使用nexus3配置docker私有仓库
1,配置走起 1,创建blob存储 登陆之后,先创建一个用于存储镜像的空间. 定义一个name,下边的内容会自动补全. 然后保存. 注意:实际生产中使用,建议服务器存储500G或以上. 2,创建一个h ...
- Windows安装Docker & Docker-Compose & 配置docker私有仓库
一定要给windows先创建软连接,不然系统盘会爆表的: mklink /j .docker D:\Administrator\.docker Win7安装Docker Dockerfile # FR ...
- nexus3使用docker运行/创建docker私有仓库/maven私有仓库
version: '3.2' services: nexus3: container_name: nexus3 hostname: nexus3 image: sonatype/nexus3:3.14 ...
- Docker私有仓库与Harbor部署使用
Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...
- 使用Nexus配置Maven私有仓库
使用Nexus配置Maven私有仓库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装配置Nexus 1>.下载nexus 下载地址:https://www.sonat ...
- Centos7基于容器安装运行Docker私有仓库及添加认证
一.前言 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理 ...
- 构建Docker私有仓库
一.Docker私有仓库 上一篇说了如何利用Dockerfile在已有镜像的基础上构建自己的镜像,那么如果需要让镜像在一个团队中使用,就需要一个仓库,有几种方式可以共享私有镜像. 1.将镜像上传至 ...
- 转载:教你分分钟搞定Docker私有仓库Registry
一.什么是Docker私有仓库Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候我们的服务器无法 ...
- Docker 私有仓库建立(加密和用户验证)
(一)生成证书1.mkdir /certs2.cd /certs 3.生成自签名证书 sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days ...
随机推荐
- SQL Server 数据库调整表中列的顺序操作
SQL Server 数据库中表一旦创建,我们不建议擅自调整列的顺序,特别是对应的应用系统已经上线,因为部分开发人员,不一定在代码中指明了列名.表是否可以调整列的顺序,其实可以自主设置,我们建议在安装 ...
- XCopy 小技巧
使用XCOPY Copy 一个文件时,如果目标地址没有对应的文件, 系统会提示选择是文件,还是目录,如下图所示. 有时我们不想出现这个提示,这是只需要修改目标文件的写法.如下 将 "D:\t ...
- MFC字体
GDI字体分3类:点阵字体(raster font).笔画字体(stroke font)和Truetype字体. 默认点阵字体有7种: System (用于SYSTEM_FONT) ...
- thinkphp v5.1 开发笔记
一.安装TP5.1 1.使用git安装 <1>下载Tp git clone https://github.com/top-think/think tp5 <2>安装核心库 gi ...
- LVS负载均衡基础介绍及NET、DR模式配置
LVS:术语: CIP:Client IP:客户端IP: VIP:Virtual Server IP:虚拟主机对外IP: RIP:Real Server IP:真实主机IP: DIP:Director ...
- Python基础之协程
阅读目录 一 引子 二 协程介绍 三 Greenlet模块 四 Gevent模块 引子 之前我们学习了线程.进程的概念,了解了在操作系统中 进程是资源分配的最小单位,线程是CPU调度的最小单位. 按道 ...
- JavaScript—面向对象开发详解和垃圾回收
面向对象的概述 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP). 面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是, ...
- Django-CRM项目学习(七)-权限组件的设置以及权限组件的应用
开始今日份整理 1.利用自定制标签,增加展示权限,权限分级设定 1.1 在权限组件中创建自定义标签 使用自定义标签的目的,使各个数据进行分离 1.2 导入自定义标签包 自定义标签复习(自定义标签有三种 ...
- sigsuspend()阻塞:异步信号SIGIO为什么会被截胡?
关键词:fcntl.fasync.signal.sigsuspend.pthread_sigmask.trace events. 此文主要是解决问题过程中的记录,内容有较多冗余.但也反映解决问题中用到 ...
- js获取response头信息
当我们使用ajax发起请求时,经常需要获取请求返回的头信息.默认情况下,js货可以获取如下头信息: Cache-Control Content-Language Content-Type Expirs ...