Nexus 3.0 可以创建三种docker仓库:

1. docker (proxy)      代理和缓存远程仓库 ,只能pull

2. docker (hosted)    托管仓库 ,私有仓库,可以push和pull

3. docker (group)      将多个proxy和hosted仓库添加到一个组,只访问一个组地址即可,只能pull

一. 配置Nexus 3.0

 经过测试, Nexus必须启动https,否则只能通过localhost登陆,hosted仓库也不能push。https证书可以到CA购买,也可以用自签名证书。 

首先配置JVM1.8 ,下载安装Nexus 3.0,nexus-3.0.0-03-unix.tar.gz 。(下载需要代理,我已经上传到云盘:http://pan.baidu.com/s/1eRZesQe)

解压压缩包以后,切换到解压目录,运行下面的命令就能启动

./bin/nexus run  或者  ./bin/nexus start

在启动之前需要先修改配置文件: (红色字体)

1. 开启监听ssl协议端口

cat > etc/org.sonatype.nexus.cfg <<EOF
# Jetty section
application-port-ssl=8443
application-port=
application-host=0.0.0.0
nexus-args=${karaf.etc}/jetty.xml,${karaf.etc}/jetty-http.xml,${karaf.etc}/jetty-requestlog.xml,${karaf.etc}/jetty-https.xml,${karaf.etc}/jetty-http-redirect-to-https.xml
nexus-context-path=/ # Nexus section
nexus-edition=nexus-oss-edition
nexus-features=\
nexus-oss-feature
EOF

2. 生成证书秘钥

NEXUS_DOMAIN=nexus 没有可以随便写
NEXUS_IP_ADDRESS=192.168.31.135 你的IP mkdir etc/ssl
cd etc/ssl
keytool -genkeypair -keystore keystore.jks -storepass nexus3 -keypass nexus3 -alias jetty -keyalg RSA -keysize  -validity  -dname "CN=*.${NEXUS_DOMAIN}, OU=Example, O=Sonatype, L=Unspecified, ST=Unspecified, C=US" -ext "SAN=DNS:${NEXUS_DOMAIN},IP:${NEXUS_IP_ADDRESS}" -ext "BC=ca:true"

3. 修改etc/jetty-https.xml ,红色字体

    <Set name="KeyStorePath"><Property name="karaf.etc"/>/ssl/keystore.jks</Set>
<Set name="KeyStorePassword">nexus3</Set>
<Set name="KeyManagerPassword">nexus3</Set>
<Set name="TrustStorePath"><Property name="karaf.etc"/>/ssl/keystore.jks</Set>
<Set name="TrustStorePassword">nexus3</Set>

4. 启动Nexus3.0

./bin/nexus run

5. 在运行docker的机器上信任nexus的证书, ubuntu系统

keytool -printcert -sslserver ${NEXUS_IP_ADDRESS}: -rfc >nexus.crt
sudo mv nexus.crt /usr/local/share/ca-certificates/nexus.crt
sudo update-ca-certificates

6. 重启docker

sudo service docker restart

二. 创建docker代理仓库, docker (proxy)

访问Nexus的主页,https://192.168.31.135:8443 ,(注,自签名证书需要在浏览器将地址添加到白名单,访问http协议的8081端口会自动跳转)

用管理员登陆,用户名/密码 : admin/admin123,创建docker (proxy)仓库,内容如下面修改:

Name: docker
HTTPS: 8888
Enable Docker V1 API: true 勾选下面的复选框
Remote storage: https://registry-1.docker.io
Docker Index: Use Docker Hub
Blob store: default

修改完成以后登陆代理仓库, 用户名密码: admin/admin123

docker login ${NEXUS_IP_ADDRESS}:

然后可以用下面的命令搜索和下载docker镜像

docker search ${NEXUS_IP_ADDRESS}:/hello-world

docker pull ${NEXUS_IP_ADDRESS}:8888/hello-world

下载成功以后,可以看到hello-world镜像已经缓存在nexus上了,其它机器再次下载速度就会快很多。

试用 Nexus OSS 3.0 的docker仓库 (二): http://www.cnblogs.com/wzy5223/p/5414965.html

试用 Nexus OSS 3.0 的docker仓库 (一)的更多相关文章

  1. 试用 Nexus OSS 3.0 的docker仓库 (二)

    试用 Nexus OSS 3.0 的docker仓库 (一) : http://www.cnblogs.com/wzy5223/p/5410990.html 三. 创建docker私有仓库,docke ...

  2. docker+Nexus Repository Manager 搭建私有docker仓库

    使用容器安装Nexus3 1.下载nexus3的镜像: docker pull sonatype/nexus3 2.使用镜像启动一个容器: docker run -d -p 8081:8081 -p ...

  3. 使用 Nexus Repository Manager 搭建私有docker仓库

    使用容器安装Nexus3 1.下载nexus3的镜像: docker pull sonatype/nexus3 2.使用镜像启动一个容器: docker run -d --name nexus  -- ...

  4. Maven与Nexus OSS

    Maven 是一个项目管理和构建自动化工具,是Apache Fundation下的一个Java项目.常用于Java项目中依赖管理 下载直接去官网 安装Maven 已经编译的二进制包 直接解压到安装目录 ...

  5. Nexus OSS 3 搭建并配置使用 Docker & Git LFS 仓库

    转载自:https://cloud.tencent.com/developer/article/1010590 1.Nexus OSS 3 介绍 我们知道 Nexus 是一个强大的 Maven 仓库管 ...

  6. kubernetes实战篇之nexus oss服务器部署及基于nexus的docker镜像仓库搭建

    系列目录 Nexus oss仓库管理平台搭建 Nexus是一款仓库管理工具,支持Npm,bower,maven,nuget,apt,yum甚至docker,helm等各种仓库,说的通俗以下,就是私服镜 ...

  7. 【Maven学习】Nexus OSS私服仓库的备份与迁移

    背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nex ...

  8. 【Maven学习】Nexus OSS私服仓库的安装和配置

    背景 公司的代码依赖是通过Maven进行管理的,而Maven的私库我们使用的是Nexus,目前使用的版本是Nexus Repository Manager OSS 2.12.1. 但是由于之前我们搭建 ...

  9. Nexus OSS私服仓库的备份与迁移

    背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nex ...

随机推荐

  1. 【C#】使用IExtenderProvider为控件添加扩展属性,像ToolTip那样

    申明: - 本文适用于WinForm开发 - 文中的“控件”一词是广义上的说法,泛指包括ToolStripItem.MenuItem在内单个界面元素,并不特指继承自Control类的狭义控件 用过To ...

  2. 【译】java.lang.ThreadLocal

    This class provides thread-local variables. These variables differ from their normal counterparts(副本 ...

  3. script引入js文件问题

  4. hibernate 注释说明

    * @Entity -- 将一个类声明为一个实体 bean(即一个持久化 POJO 类) * @Id -- 注解声明了该实体 bean 的标识属性(对应表中的主 键). * @Table -- 注解声 ...

  5. Droid@screen:在PC屏幕上显示Android手机屏幕

    这里介绍一款工具——Droid@screen,用来获取手机屏幕,显示在PC屏幕上.它集截图.录像等多种功能于一体. 安装 1.    下载地址:http://droid-at-screen.org/d ...

  6. java 基础加强--书籍+题目+上机测试

    scjp test( 在线测试网站):http://scjptest.com/mock-test.xhtml <SCJP Sun® Certified Programmer for Java™ ...

  7. JVM的生命周期、体系结构、内存管理和垃圾回收机制

    一.JVM的生命周期 JVM实例:一个独立运行的java程序,是进程级别 JVM执行引擎:用户运行程序的线程,是JVM实例的一部分 JVM实例的诞生 当启动一个java程序时.一个JVM实例就诞生了, ...

  8. pymysql 操作数据库

    一.简介 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同,但目前pymysql支持python3.x而后者不支持3.x版本 其执行语句与sql源码相似 二.使用 ...

  9. JAVA中的GC机制详解

    优秀Java程序员必须了解的GC工作原理 一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只 ...

  10. Typecast 免费了!献给设计师们的礼物

    TypeCast 让你可以从 Fonts.com.TypeKit.FontDeck 和 Google 这些字体供应和商选择字体,而且能非常方便的比较这些字体使用效果.如果你想获得用户对这些字体效果的反 ...