nexus搭建

简介: 本文介绍如何使用Nexus搭建Docker私有仓库。包括Nexus中Docker仓库的启用、Blob Store创建、docker-hosted仓库配置(HTTP/HTTPS端口、匿名拉取等),以及防火墙和Docker客户端的insecure-registry配置。详细说明镜像打标、登录认证及推送至私仓的完整流程,适用于本地化镜像管理与内网部署需求。

07-nexus搭建docker私仓
使用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
运行代码
复制代码
1
2
3
4
5
6
7

centos6 的命令

sudo chkconfig daemon-reload
sudo service docker restart

centos7 的命令

sudo systemctl daemon-reload
sudo systemctl restart docker
也可以在/etc/docker/daemon.json 中进行配置:
JSON
复制代码
1
2
3
{
"insecure-reigstries":["192.168.xxx.xxx:8881"]
}
向私仓推送镜像
如果私仓不允许匿名上传镜像,则需要先进行登陆。(一般私仓都不允许匿名上传,nexus默认匿名上传也没有勾选)
Shell
运行代码
复制代码
1
2
3
4
5

--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
运行代码
复制代码
1
2
3
4

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

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

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

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

将修改好Tag的镜像进行上传:
Shell
运行代码
复制代码
1
docker push xxx.xxx.xxx.xxx:8881/official/mysql:8.0.28

相关文章
|
8月前
|
Java Maven 数据安全/隐私保护
Nexus仓库
Nexus是一款开源仓库管理工具,支持Maven、NPM、Docker等格式。本文介绍其在Linux与Docker环境下的安装配置,包括JDK部署、OSS版下载、仓库创建、用户权限管理及密码重置方法,并涵盖私服搭建、持久化存储、资源上传与匿名访问设置,助力企业高效构建私有仓库体系。
|
8月前
|
Java Maven 数据安全/隐私保护
06-nexus私仓环境搭建
本文介绍Nexus Repository Manager OSS版的安装与配置,包括JDK环境准备、Nexus部署、用户创建、启动服务及Web界面登录。详细说明如何搭建Maven、Docker私仓,实现Jar包上传、本地仓库迁移、项目配置使用私仓,以及Docker镜像的推送拉取。同时简述npm、helm等其他类型仓库的启用方法,适用于企业级制品管理。
|
9月前
|
关系型数据库 MySQL Shell
三、Docker常用命令
把 Docker 玩转,就像一个建筑师,需要掌握两套核心工具:一套用来管理你的“图纸”(镜像),另一套用来管理你用图纸盖好的“房子”(容器)。
813 3
|
6月前
|
运维 监控 Linux
Finalshell远程管理软件安装步骤详解(附SSH连接与文件传输教程)
FinalShell是一款专为运维与开发者设计的国产远程管理工具,支持SSH/SFTP连接Linux服务器、VPS及云主机,集成终端、文件拖拽传输、实时资源监控(CPU/内存/磁盘)等功能,界面简洁易用,Win7–Win11全兼容。(239字)
3723 4
|
11月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建
|
8月前
|
网络协议
协议:怎么设计可扩展且向后兼容的协议?
本讲深入探讨RPC协议设计,重点解析如何实现可扩展性与向后兼容。协议如同通信的“标点符号”,确保数据正确分帧、语义一致。为提升性能,RPC需自研私有协议,兼顾紧凑性与灵活性。通过固定长度字段标识协议头长度,实现动态扩展,支持新增参数而不影响旧版本,保障系统平滑升级。
|
Ubuntu Java Maven
搭建nexus私服
搭建nexus私服
1595 0
|
Kubernetes Docker 容器
【Docker专栏】Docker网络配置详解:从Bridge到Overlay
【5月更文挑战第7天】本文介绍了Docker的四种网络类型:Bridge(默认,每个容器连接虚拟桥)、Host(容器共享宿主机网络命名空间)、Overlay(跨宿主机通信,适合集群环境)和Macvlan(容器直接连接物理网络)。Bridge网络适用于同主机通信,而Overlay适合多主机集群。Host网络缺乏隔离,Macvlan则让容器直接连到外部网络。理解这些网络类型有助于优化Docker容器的网络配置。
1307 8
【Docker专栏】Docker网络配置详解:从Bridge到Overlay
|
域名解析 存储 缓存
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
【5月更文挑战第22天】本文介绍了DNS解析记录的概念及其手动配置步骤。DNS解析记录是将域名映射到IP地址的数据,常见类型包括A(IPv4)、AAAA(IPv6)和CNAME(别名)。配置步骤包括登录DNS管理平台,添加记录,选择记录类型,填写主机记录和记录值,设置TTL值,并保存。以阿里云为例的A记录配置示例也提供了具体操作。了解这些有助于更好地管理域名。
2734 0
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
|
UED
Axure中继器实战篇:让数据展示和交互设计更上一层楼!
Axure中继器实战篇:让数据展示和交互设计更上一层楼!
923 0