上一篇文章到了Nexus 3的基本使用,这里讲述一下全新安装Nexus 3并且完成后续配置的过程。
通过Docker运行Nexus3:
docker run -d -p 8081:8081 -p 5000:5000 -v $(pwd)/nexus-data:/nexus-data --name nexus3 sonatype/nexus3:3.9.0
以上命令会在宿主机的当前目录下自动创建nexus-data目录用于映射container中的/nexus-data数据,需要注意的是这里的$(pwd)/nexus-data
必须是一个绝对路径,不然docker会将其当做volume来处理。
这里的8081端口用于访问Nexus的界面,5000端口用于Docker Registry向外暴露端口。
启动之后,打开http://localhost:8081
可以看到以下界面:
Nexus主界面
点解右上角的Sign in
,使用默认管理员账号登录:
登陆后进入配置页面,进而进入Repository页面:
Repositories界面
此时可以看到Nexus在默认情况下已经创建了多个Repository,主要是Maven和Nuget,由于我们只需要Java的Repository,故删除所有Nuget相关的Repository。
然后拷贝maven-public的URL:http://localhost:8081/repository/maven-public/,maven-public是一个group类型的Repository,既代理(proxy)了远程的Maven Central,有包含了自建(hosted)的maven-releases。至于什么是group,proxy,hosted,请参考这里。
在自己的一个Java项目中尝试使用maven-public,在Java项目的build.gradle中使用:
repositories {
maven {
url "http://localhost:8081/repository/maven-public/"
}
}
在构建了Java项目之后,maven-public中便有了多个Java的component,这是因为Java项目尝试从maven-public中下载依赖,而maven-public包含了maven-central,maven-central又代理的远程的Maven Central,因此我们Java项目事实上是从Maven Central上下载的依赖,然后缓存于Nexus中,然后Nexus中也可以看到了。
首先要创建一个DockerRepository:
创建Docker Repository
需要注意但是,这里的“Repository”一词实则是docker的Registry,而不是Docker Hub中的Repository概念,Docker Hub中的Repository更像是Nexus中的Component。
这里务必需要选择"Repository Connectors"中的HTTP或者HTTPS,我们选择了HTTP,并设置端口为5000,原因请查看这里。
然后创建一个用户用于docker login
,主要是需要有push权限。先创建相应的Role:
创建Role
接下来创建拥有该Role的User:
创建User
创建好Repository和User后,我们便可以正常使用Docker Repository了,先在命令行登录Docker Repository:
docker login localhost:5000
请注意,这里需要显式地跟上localhost:5000
,否则docker会默认登录Docker Hub。
然后就可以将本地已有的镜像push到Nexus的Docker Repository中了,比如本地有个alpine镜像:
alpine latest 3fd9065eaf02 2 months ago 4.15MB
在push之前,需要给alpine指定正确的tag,正确的格式为:hostname:port/image-name:tag,如果只有image-name:tag部分,那么docker push默认会将镜像push到Docker Hub中。
通过docker tag
给alpine打tag:
docker tag alpine localhost:5000/alpine:1.0
最后push镜像:
docker push localhost:5000/alpine:1.0
最后查看镜像:
浏览镜像
Original url: Access
Created at: 2019-05-05 17:52:45
Category: default
Tags: none
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论