使用nexus搭建docker私服





我们知道在

​nexus2​​的时候,我们大多使用它作为一个

​maven​​私服,不过在

​nexus3​​时,它也可以作为一个

​docker​​私服来使用。今天我们使用

​docker-compose​​来搭建一个docker私服。

一、需求:

  1. 使用​​docker-compose​​​完成​​docker​​私服的搭建
  2. 使用​​47.101.130.164:9001​​作为上传私有镜像的服务区和端口
  3. 创建的​​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​​​配置文件
使用nexus搭建一个docker私服_docker nexus
2、重新启动​​​docker​​容器

systemctl daemon-reload
systemctl restart docker.service

3、访问 ​​nexus​​​创建一个 ​​docker​​仓库

> docker仓库类型

  1. ​hosted:​​​ 此类型的仓库,可以​​push​​​ 和​​pull​​操作,可以当作我们项目开发中的私有仓库
  2. ​proxy​​​: 此类型的仓库,只可以进行​​pull​​操作,可以代理一些 中央仓库等
  3. ​group​​​: 此类型的仓库,只可以进行​​pull​​​操作,用于将多个仓库放到一个组中,便于拉取数据(​​docker镜像等​​)使用。

1、此处我们简单演示一个 ​​hosted​​ 类型的仓库

a)、创建一个 Blob Stores,用于存储数据

使用nexus搭建一个docker私服_docker 私服_02

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

使用nexus搭建一个docker私服_docker-compose  私服_03
使用nexus搭建一个docker私服_docker nexus_04

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

使用nexus搭建一个docker私服_docker-compose  私服_05
到此,一个简单的私服就搭建完成了。
当然​​​nexus​​的功能更加强大,可以尝试一下别的功能。