使用nexus搭建一個docker私服


我們知道在nexus2的時候,我們大多使用它作爲一個maven私服,不過在nexus3時,它也可以作爲一個docker私服來使用。今天我們使用docker-compose來搭建一個docker私服。

一、需求:

  1. 使用docker-compose完成docker私服的搭建
  2. 使用47.101.130.164:9001作爲上傳私有鏡像的服務區和端口
  3. 創建的docker倉庫和pushpull鏡像,即倉庫類型爲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倉庫類型

  1. hosted: 此類型的倉庫,可以pushpull操作,可以當作我們項目開發中的私有倉庫
  2. proxy: 此類型的倉庫,只可以進行 pull操作,可以代理一些 中央倉庫等
  3. group: 此類型的倉庫,只可以進行 pull操作,用於將多個倉庫放到一個組中,便於拉取數據(docker鏡像等)使用。

1、此處我們簡單演示一個 hosted 類型的倉庫

a)、創建一個 Blob Stores,用於存儲數據

在這裏插入圖片描述

b)、創建一個hosted 類型的倉庫

在這裏插入圖片描述
在這裏插入圖片描述

c)、測試上傳和拉取鏡像

在這裏插入圖片描述
到此,一個簡單的私服就搭建完成了。
當然nexus的功能更加強大,可以嘗試一下別的功能。

發佈了104 篇原創文章 · 獲贊 22 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章