nexus搭建docker私仓

简介: 本文介绍如何使用Nexus搭建Docker私有仓库。包括Nexus中启用Docker Realm、创建文件存储、配置docker-hosted仓库并开放HTTP端口(如8881),以及防火墙设置。还需配置Docker客户端信任私仓IP,通过修改daemon.json或启动参数添加insecure-registry。最后登录私仓,打标签并推送镜像。适用于CentOS 6/7系统,实现本地镜像安全管理与分发。(239字符)

使用nexus创建docker私有仓库
Nexus的安装请参考该文档:https://www.yuque.com/yzxb/jenkins/fgeqv69dg9o5bgic
Nexus配置Docker仓库步骤;
nexus默认docker是失效的,需要 在security --> Realms,将docker配置成Active
在 Repository 的 Blob Store 中创建一个用于存放docker镜像的存储。内网没有S3的话,把Type配置为file就行。
S3:Simple Storage Service,简单对象存储服务,即云存储。

在 Repository 的 Repositories 中创建一个新的资源库,类型为 docker-hosted。
创建的 docker-hosted资源库的相关配置:
Name:指定该资源库的名称,例如就叫 docker-hosted
Online:默认勾选即可
HTTP:与下面的HTTPS,至少需要勾选其中一个选择框,并配置一个和nexus不同的端口号,例如 8881。将来docker客户端向镜像中心上传镜像时,需要向该端口号进行上传。
HTTPS:如果服务器可以开启https服务,则也可以勾选HTTPS,然后配置一个端口号,接收docker客户端上传上来的镜像。
Allow anonymous docker pull:允许匿名上传,默认不勾选
Enable docker V1 API:是否启用 docker早期V1版本的API,默认不勾选,即只启用V2 API:http://xxx.xxx.xxx.xxx:8881/v2/
Blob Store:选择上面创建的docker镜像的存储
Deployment Policy:是否允许重复上传同一个资源,默认允许
配置好之后,修改防火墙设置,开启刚刚配置的8881 端口:
添加:
重启iptables:
docker客户端的镜像导出和导入
镜像下载和导出:
镜像的导入:
docker 客户端向私仓上传镜像
配置docker允许接收http请求
docker默认只接收https请求,而我们的nexus私仓如果配置的是HTTP接口的话,docker直接连会报错:
需要配置docker允许连接我们私仓的http。
在其中的ExecStart 选项后面,添加 --insecure-registry {docker 私有镜像库 IP} --ipv6=false。
例如:
然后重启docker:
Shell

centos6 的命令

sudo chkconfig daemon-reload
sudo service docker restart

centos7 的命令

sudo systemctl daemon-reload
sudo systemctl restart docker
也可以在/etc/docker/daemon.json 中进行配置:
JSON

{
"insecure-reigstries":["192.168.xxx.xxx:8881"]
}
向私仓推送镜像
如果私仓不允许匿名上传镜像,则需要先进行登陆。(一般私仓都不允许匿名上传,nexus默认匿名上传也没有勾选)

--username后面为nexus用户名,执行命令后会提示输入密码

docker login --username=admin http://192.168.xxx.xxx:8881

登录之后,会在 $HOME/.docker/config.json 中记录下登录的用户信息,之后便不需要再进行登陆操作

如果要取消登录,则只需执行以下命令

docker logout http://192.168.xxx.xxx:8881

将要上传的镜像重新设置Tag。
docker按照镜像名称区分上传的资源库。
例如:
mysql:8.0.28会被上传到docker官方dockerhub;
tengyer/helloworld:lasted会被上传到dockerhub的tengyer命名空间中;
registry.cn-hangzhou.aliyuncs.com/命名空间/镜像名称:[镜像版本号] 会上传到阿里云指定命名空间中;
ccr.ccs.tencentyun.com/命名空间/hello-world:会上传到腾讯云指定命名空间中;
hub.c.163.com/命名空间/hello-world:会上传到网易数帆指定命名空间中;
所以,我们如果要上传到我们的私仓,需要将Tag修改为xxx.xxx.xxx.xxx:8881/命名空间/mysql:5.0.27格式:
Shell

将mysql:8.0.28复制出一个私仓格式的Tag

该操作在 docker images中会多出一个复制出来的tag,但是ImageId和原始的相同

加个official命名空间,方便区分这个镜像是从官方镜像下载下来的,不加命名空间也可以上传

docker tag [ImageId] xxx.xxx.xxx.xxx:8881/official/mysql:8.0.28

将修改好Tag的镜像进行上传:

docker push xxx.xxx.xxx.xxx:8881/official/mysql:8.0.28

相关文章
|
19小时前
|
机器学习/深度学习 搜索推荐 算法
广告系统:广告引擎如何做到在 0.1s 内返回广告信息?
广告系统是互联网核心营收支柱,支撑Google、Facebook等巨头超80%收入。它需在0.1秒内完成百万级广告的精准匹配,兼具高并发与低延迟特性。本文详解其三大模块:标签检索通过树形分片与倒排索引提升效率;向量检索实现智能匹配;非精准打分结合深度学习优化排序。同时,索引构建前置过滤条件,压缩检索空间,确保实时高效。
|
20小时前
|
存储 Ubuntu Shell
容器命令
通过Docker可创建交互式或守护式容器,支持端口映射、环境变量设置及数据卷挂载。使用`-it`启动交互容器,`-d`后台运行;`-v`实现目录共享,`--privileged=true`解决权限问题。容器可提交为新镜像,支持日志查看、进程进入、文件拷贝及导入导出操作,数据卷实现持久化与容器间共享。
|
18小时前
|
Java 调度
线程池1
本文深入剖析Java线程池实现原理,从ThreadPoolExecutor到ScheduledThreadPoolExecutor,详解线程管理、任务调度、阻塞队列及周期性任务的底层机制,揭示线程复用与延迟执行的技术核心。
|
20小时前
|
Ubuntu Shell Linux
Docker常用命令
本文介绍了Docker常用命令,涵盖启动、停止、重启、状态查看及开机自启等基础操作,以及版本、信息和帮助文档查询。重点讲解镜像相关命令:列出、搜索、下载、删除镜像,虚悬镜像处理,支持命令自动补全配置方法,并演示如何后台运行Linux镜像及利用yum下载依赖包技巧。
|
19小时前
|
Java
1.常见加载顺序
本示例展示了Java中各类代码块的执行顺序:静态代码块随类加载仅执行一次,优先于主函数;局部代码块在方法内按顺序执行;构造代码块每次创建对象前执行,随后调用构造器。输出结果体现三者优先级:静态 > 局部 > 构造。
|
19小时前
|
Java 大数据
ArrayList扩容机制
ArrayList的add方法添加元素时,先调用ensureCapacityInternal()确保容量。首次添加时,minCapacity为1,经Math.max()后扩容至10。通过grow()方法实现动态扩容,每次扩容为原容量的1.5倍(oldCapacity + (oldCapacity >> 1))。当元素数超过当前容量时触发grow(),如第11个元素加入时,容量从10扩至15。注意:length用于数组,length()用于字符串,size()用于集合。
|
19小时前
|
Java 应用服务中间件 网络安全
Eclipse运行SSM/SSH项目教程
本教程介绍如何在Eclipse中配置Java Web开发环境,涵盖JDK、Tomcat安装与项目导入,支持非Maven及Maven项目。详细演示Eclipse绑定Tomcat、部署项目并启动访问,附在线考试、图书馆管理等实战案例及SSM配置讲解视频,助你快速搭建Java Web项目。
|
20小时前
|
关系型数据库 MySQL Shell
Docker下载加速
本文介绍Docker下载加速的两种方法:一是使用网易数帆、阿里云等镜像仓库,如`docker pull hub.c.163.com/library/mysql`;二是配置阿里云镜像加速器,通过修改`/etc/docker/daemon.json`添加加速地址,实现快速拉取官方镜像。此外,若使用代理上网,还可配置HTTP/HTTPS代理,提升镜像下载效率。
|
19小时前
|
运维 Kubernetes Java
物理部署图
物理部署图描述系统运行时的硬件配置与软件部署结构,展现节点、构件、物件及连接关系,帮助理解分布式系统的网络架构与部署方案,是开发与运维协作的重要工具。
|
19小时前
|
数据采集 领域建模 数据库
领域模型图(数据架构/ER图)
数据架构核心输出为ER图,包含实体、关系与属性。通过四色原型法进行领域建模:红色MI表时标事件,绿色PPT为业务对象,黄色Role示参与角色,蓝色DESC提供描述信息。以风控系统为例,从业务流程提炼MI骨架,逐步补充PPT、Role与DESC,最终提取出ER图,明确实体间一对一、一对多或多对多关系,指导数据模型设计。(239字)