原文地址: http://www.cnblogs.com/wzy5223/p/5410990.html

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=8081
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 2048 -validity 5000 -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}:8443 -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}:8888

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

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

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

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

FW nexus docker的更多相关文章

  1. nexus docker 私有镜像处理

    新版本的nexus 可以进行docker 镜像的存储处理 配置私有镜像(host 模式) 修改docker 非安全镜像处理 { "registry-mirrors": [" ...

  2. docker nexus oss

    docker login/search x.x.x.x:8081 sonatype/docker-nexus Docker images for Sonatype Nexus with the Ora ...

  3. docker --Nexus仓库

    Nexus 简介 Nexus 是个仓库管理器,目前主要分2大版本:2.X 和 3.X.2.X 主要支持的格式是Maven.P2.OBR.Yum.3.X主要支持的是Docker.NuGet.npm.Bo ...

  4. 用Docker搭建Nexus私服

    搜索Nexus 在docker容器中加载Nexus镜像 发布本地项目到Nexus私服 配置连接方式 发布指令 打源码包上传插件 搜索Nexus   在我们打算使用Nexus时,我们先搜索一下docke ...

  5. dubbo循序渐进 - 使用Docker安装Nexus

    docker search nexus docker pull docker.io/sonatype/nexus3 mkdir -p /usr/local/nexus3/nexus-data /usr ...

  6. 使用Nexus搭建私有Nuget仓库

    前言 Nuget是ASP .NET Gallery的一员,是免费.开源的包管理工具,专注于在.Net / .Net Core应用开发过程中第三方组件库的管理,相对于传统单纯的dll引用要方便.科学得多 ...

  7. CentOS docker 常用命令

    yum install docker 安装服务 systemctl start docker.service 启动服务 systemctl enable docker.service 开机启动服务 d ...

  8. Docker 系列四(自定义仓库).

    一.Docker hub 交互 Docker hub 是 Docker 官方维护的一个公共仓库,大部分需求都可以通过在 Docker hub 中直接下载镜像来完成.接下来,来看一下怎么与 Docker ...

  9. Docker初次使用与安装过程

    Docker入门 Docker 简介 Docker有两个版本: 社区版(CE) 企业版(EE) Docker Community Edition(CE)非常适合希望开始使用Docker并尝试使用基于容 ...

随机推荐

  1. 转-CSS3 圆角(border-radius)

    CSS3 圆角(border-radius)   前缀 例1 例2:无边框 书写顺序 其它 支持性 值:半径的长度 前缀 -moz(例如 -moz-border-radius)用于Firefox -w ...

  2. 如何:从代码创建 UML 类图(ZZ)

      您拖动的一个或多个类将显示在关系图上. 它们依赖的类将显示在"UML 模型资源管理器"中. 参见 模型表示类型的方式. 将程序代码中的类添加到 UML 模型 打开一个 C# 项 ...

  3. Unity3D中Update和Lateupdate的区别

    Unity中Update和Lateupdate的区别.Lateupdate和Update每一祯都被执行,但是执行顺序不一样,先执行Updatee然后执行lateUpdate. 如果你有两个脚本JS1. ...

  4. BZOJ4361 : isn

    设$f[i]$表示长度为$i$的不下降子序列的个数. 考虑容斥,对于长度为$i$的子序列,如果操作不合法,那么之前一定是一个长度为$i+1$的子序列,所以答案$=\sum_{i=1}^n(f[i]\t ...

  5. BZOJ1099 : [POI2007]树Drz

    首先1与i交换,n与i交换,i与i+1交换的可以$O(n)$算出. 然后只需要考虑i与x交换(1<i,x<n且|i-x|>1). 设 a[i]=h[i-1] b[i]=h[i+1] ...

  6. iScroll5 API速查随记

    版本 针对iScroll的优化.为了达到更高的性能,iScroll分为了多个版本.你可以选择最适合你的版本.目前我们有以下版本: iscroll.js,这个版本是常规应用的脚本.它包含大多数常用的功能 ...

  7. UITextFielddelegate委托方法注释

    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{         //返回一个BOOL值,指定是否循序文本字段开始编辑     ...

  8. 命令行编译运行Java

    首先要安装JDK,然后设置环境变量Path,添加C:\Program Files (x86)\Java\jdk1.8.0_66\bin 然后建立一个名为j.java的文件,里面加入如下代码: publ ...

  9. hdu How to Type

    感觉这道dp题还是有点技巧的,此题设置了两个数组:open[]和close[],分别用来记录capslock一直开启状态和一直关闭状态下的最少输入次数.此时只要判断字母的大小写,选用最优子结构即可.状 ...

  10. WPF DataGrid的分页实现

    原理:其实分页功能的实现大家都清楚,无非就是把一个记录集通过运算来刷选里面对应页码的记录. 接来下我们再次添加新的代码 <Grid> <DataGrid  Name="da ...