一 nexus 安装
1 安装jdk 1.8
最好使用 jdk1.8
Centos 安装opensdk:
yum install -y java-1.8.0-openjdk.x86_64
2 环境配置
1.修改文件系统句柄
临时修改:
ulimit -n 4096
永久修改:
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
2.解压nexus
tar -zxvf nexus-3.29.0-02-unix.tar.gz
解压的目录:/data/nexus/nexus
3.增加nexus 环境变量
NEXUS_HOME=/data/nexus/nexus
PATH=$PATH:$NEXUS_HOME/bin
export PATH
source /etc/profile
3 启动和查看nexus
nexus run &
4 docker 运行nexus3
docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus -v /data/nexus-data:/nexus-data sonatype/nexus3
5 nexus docker 迁移
Nexus 数据存放于 nexus-data目录中。将nexus-data目录拷贝到对应nexus的目录,重启nexus。
二 nexus 仓库配置
创建仓库之前,需要先创建该类型的 blob,用于存放改类型的仓库。
每种仓库都包含三种类型 包括
hosted本地仓库
proxy 代理仓库
group 分组仓库
1 创建blob存储
登陆之后,先创建一个用于存储镜像的空间。
定义一个name,下边的内容会自动补全。
然后保存。
2搭建docker私服
docker 私服创建 三种 类型的仓库,hosted本地仓库,proxy 代理仓库,group 分组仓库。
1 创建hosted docker仓库
Hosted类型仓库用作我们的私有仓库,替代harbor的功能。
点击步骤如下:
而后可见所支持种类之丰富,可见一斑。
这里我们看到docker类型有三种:
- hosted : 本地存储,即同 docker 官方仓库一样提供本地私服功能。
- proxy : 提供代理其他仓库的类型,如 docker *仓库。
- group : 组类型,实质作用是组合多个仓库为一个地址。
先来创建一个hosted类型的私有仓库。
点击 Repository下面的Repositories – Create repository – docker(hosted) :
Name: 定义一个名称docker-host
Online: 勾选。这个开关可以设置这个Docker repo是在线还是离线。
Repository Connectors
- 下面包含HTTP和HTTPS两种类型的port。
- 连接器允许docker客户端直接连接到docker仓库,并实现一些请求操作,如docker pull, docker push, API查询等。但这个连接器并不是一定需要配置的,尤其是我们后面会用group类型的docker仓库来聚合它。
我们把HTTP这里勾选上,然后设置端口为8083。
Allow anonymous docker pull
不勾选。这样的话就不允许匿名访问了,执行docker pull或 docker push之前,都要先登录:docker login
Docker Registry API Support
Docker registry默认使用的是API v2, 但是为了兼容性,我们可以勾选启用API v1。
Storage
Blob store:我们下拉选择前面创建好的专用blob:docker-hub。
Hosted
开发环境,我们运行重复发布,因此Deployment policy 我们选择Allow redeploy。
整体配置截图如下:
2 创建proxy docker 仓库
proxy类型仓库,可以帮助我们访问不能直接到达的网络,如另一个私有仓库,或者国外的公共仓库,如官方的dockerhub镜像库。
创建一个proxy类型的仓库
Name: proxy-docker-hub
Repository Connectors: 不设置。
Proxy
Remote Storage: docker hub的proxy,这里填写: https://hub-mirror.c.163.com/ 这个是网易镜像仓库的链接
Docker Index: Use Docker Hub
Storage:docker-hub
整体配置截图如下:
3 创建group docker 仓库
group类型的docker仓库,是一个聚合类型的仓库。它可以将前面我们创建的3个仓库聚合成一个URL对外提供服务,可以屏蔽后端的差异性,实现类似透明代理的功能。
name:docker-group
Repository Connectors:启用了一个监听在8082端口的http连接器;
Storage:选择专用的blob存储docker-hub。
group : 将左边可选的3个仓库,添加到右边的members下。
整体配置截图如下:
三 最终效果
四 其他
《常用的知识点纪录》 - 10.docker 启动nexus3