使用nexus搭建一个docker私服
使用nexus搭建docker私服
我们知道在
nexus2的时候,我们大多使用它作为一个
maven私服,不过在
nexus3时,它也可以作为一个
docker私服来使用。今天我们使用
docker-compose来搭建一个docker私服。
一、需求:
- 使用
docker-compose完成docker私服的搭建 - 使用
47.101.130.164:9001作为上传私有镜像的服务区和端口 - 创建的
docker仓库和push和pull镜像,即仓库类型为hosted
二、实现步骤
1、编写docker-compose文件,实现nexus的部署
| 备注 | 描述 |
|---|---|
| 9000端口 | 为nexus的前端界面展示端口 |
| 9001端口 | 我们会创建一个自己的hosted类型的 docker仓库,端口为9001 |
| nexus-data | 此数据卷中保存了admin用户的密码,在文件admin.password文件中 |
version: '3'
services:
nexus:
image: sonatype/nexus3:3.19.1 # 指定 nexus 的镜像
ports:
- "9000:8081" # 将容器的 8081 端口映射到宿主机的9000端口
- “9001:9001” # 9001 端口作为我们自己创建私有docker仓库的端口,实现上传镜像端口
volumes:
- "nexus-data:/nexus-data" # 数据卷
environment:
INSTALL4J_ADD_VM_PARAMS: -Xms1g -Xmx1g -XX:MaxDirectMemorySize=3g # 指定jvm参数
NEXUS_CONTEXT: nexus # 指定nexus context-path
volumes:
nexus-data:
2、修改/usr/lib/systemd/system/docker.service 配置文件
因为我本地不是 https ,不配置可能发生异常,导致镜像push不到私服
修改步骤如下:
1、修改 docker.service配置文件

2、重新启动docker容器
systemctl daemon-reload
systemctl restart docker.service
3、访问 nexus创建一个 docker仓库
> docker仓库类型
hosted:此类型的仓库,可以push和pull操作,可以当作我们项目开发中的私有仓库proxy: 此类型的仓库,只可以进行pull操作,可以代理一些 中央仓库等group: 此类型的仓库,只可以进行pull操作,用于将多个仓库放到一个组中,便于拉取数据(docker镜像等)使用。
1、此处我们简单演示一个 hosted 类型的仓库
a)、创建一个 Blob Stores,用于存储数据

b)、创建一个hosted 类型的仓库


c)、测试上传和拉取镜像

到此,一个简单的私服就搭建完成了。
当然nexus的功能更加强大,可以尝试一下别的功能。
本文来自博客园,作者:huan1993,转载请注明原文链接:https://www.cnblogs.com/huan1993/p/15416142.html

浙公网安备 33010602011771号