0、目的

  • docker私有仓库的搭建,方便后期的CI/CD
  • dotnetcore项目sdk本地缓存,解决微软官方下载缓慢的问题
  • nuget私有仓库

1、环境情况

  • windows10
  • Docker Desktop

2、在docker环境中安装nexus3

#下载镜像
docker pull sonatype/nexus3

3、启动nexus3

docker run -d -p 8081:8081 -p 8082:8082 -p 8088:8088 -p 8090:8090 --name nexus3niu sonatype/nexus3

8081为nexus的web管理后台端口

8088为hosted私有docker仓库push端口

8082为group拉取镜像端口

8090备用

4、进入docker中,修改nexus的默认密码

docker exec -it 77ab02acf9cf /bin/bash
cd nexus-data/
bash-4.4$ cat admin.password
dae2eaaa-a4ea-44cf-b754-aab10e999d1ebash-4.4$ exit
#其中dae2eaaa-a4ea-44cf-b754-aab10e999d1e变为默认密码,可以直接修改,也可以复制出来,到web端首次登陆成功后再修改

5、访问http://127.0.0.1:8081,登陆用户名和密码即可登陆成功

6、nexus3关于docker仓库的三种支持方式

  • hosted : 本地存储,即同 docker 官方仓库一样提供本地私服功能。
  • proxy : 提供代理其他仓库的类型,如 docker 中央仓库。
  • group : 组类型,实质作用是组合多个仓库为一个地址。

7、分别通过web后台搭建三种类型的仓库,具体如截图

  • 首先建立一个blob,用于存储镜像,实际生产环境建议磁盘大小500G左右

  • 建立hosted

  

  • 建立proxy

  • 建立group

    

8、测试连接

docker login -u admin -p adminxxx 127.0.0.1:8088 #hosted
docker login -u admin -p adminxxx 127.0.0.1:8082 #group #返回如下情况代表连接成功
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded

9、测试拉取远程镜像到本地代理仓库,注意先要登录

docker pull 127.0.0.1:8082/redis  #127.0.0.1:8082/为你的仓库地址,redis为dockerhub官方里能找到的镜像tag,如果错误,将拉取不成功

#拉取aspnetcore 5.0和sdk5.0,注意这里的newbe36524/aspnet:5.0-buster-slim即是tag
docker pull 127.0.0.1:8082/newbe36524/aspnet:5.0-buster-slim 
docker pull 127.0.0.1:8082/newbe36524/sdk:5.0-buster-slim

执行成功后,可以到web后端看到已经存在镜像了,下次会直接从本地仓库拉取,速度会特别快

10、推送本地镜像

docker tag webapplication3:dev 127.0.0.1:8088/webapplication3:latest
docker push 127.0.0.1:8088/webapplication3:latest

注意group只可以拉取,不可以push推送,要在hosted上推送。group可以理解为统一暴露的pull拉取入口(里面可以包含很多个proxy、hosted)

11、关于vs的编译慢的问题,可以修改dockerfile文件如下:

Nexus3搭建Docker等私服的更多相关文章

  1. CentOS7下使用Sonatype Nexus3搭建Docker私有仓库

    相关资料: Sonatype Nexus3官方网站:https://www.sonatype.com/download-oss-sonatype Sonatype Nexus3 Docker Hub地 ...

  2. mac上搭建docker镜像私服

    1.创建私服容器 docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/t ...

  3. centos6搭建docker镜像私服

    1.创建私服容器 docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/t ...

  4. 温故知新,基于Nexus3和Docker搭建私有Docker Mirrors镜像库

    前言 接着上一篇文章关于基于Nexus3和Docker搭建私有Nuget服务的探索,我们可以进一步利用Nexus3来创建一个私有的Docker镜像库满足内部需求. 仓库类型 hosted: 本地存储, ...

  5. 2.使用nexus3配置docker私有仓库

    1,配置走起 1,创建blob存储 登陆之后,先创建一个用于存储镜像的空间. 定义一个name,下边的内容会自动补全. 然后保存. 注意:实际生产中使用,建议服务器存储500G或以上. 2,创建一个h ...

  6. 【Maven】2.使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库

    参考文章: http://www.cnblogs.com/luotaoyeah/p/3791966.html --------------------------------------------- ...

  7. 使用Nexus3搭建Maven私服

    1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库 ...

  8. 使用Nexus3搭建Maven私服+上传第三方jar包到本地maven仓库

    1.搭建Maven私服背景 公司还是按捺不住,要搭建一个自己的Maven本地仓库,可以让开发人员down架包,从内网还是快很多. 这样公司的maven本地仓库就是 开发人员自己电脑上的maven仓库 ...

  9. 使用registry搭建docker私服仓库

    使用registry搭建docker私服仓库 一.拉取 registry镜像 二.根据镜像启动一个容器 1.创建一个数据卷 2.启动容器 三.随机访问一个私服的接口,看是否可以返回数据 四.推送一个镜 ...

随机推荐

  1. [DB] 数据库概述

    基本概念 关系模型:包括关系数据结构.关系操作集合.关系完整性约束三部分 关系型数据库:建立在关系模型基础上的数据库.由多张能互相联接的二维行列表格组成. 非关系型数据库(Nosql(Not Only ...

  2. Tracert 命令

    Tracert 命令 Tracert 命令的作用 Tracert命令诊断实用程序通过向目标计算机发送具有不同生存时间的ICMP数据包,来确定至目标计算机的路由,也就是说用来跟踪一个消息从一台计算机到另 ...

  3. gitlab同步插件gitlab-mirrors报错<已解决,未找到原因>

    今天下午在使用gitlab-mirrors同步插件时,发现一直在报错 # ~/gitlab-mirrors/add_mirror.sh --git --project-name manifests - ...

  4. BUUCTF(九) [ACTF2020 新生赛]Exec 1

    baidu.com & ls .. baidu.com & ls ../.. baidu.com & ls ../../.. 发现flag 查看 baidu.com & ...

  5. inux软件安装管理之——dpkg与apt-*详解

    inux软件安装管理之--dpkg与apt-*详解 Nosee123关注 0.5922017.09.12 17:47:44字数 3,894阅读 8,565 [Linux软件安装管理系列]- - 传送门 ...

  6. 063.Python前端Django分页器

    Django的分页器 1 前期准备 创建一个数据库,用于存放数据 mysql> create database pager default charset=utf8; mysql> use ...

  7. vue2路由之指定滑动位置scrollBehavior-(载转)

    看源码的时候看到这个属性: 新手自然不知道这个是什么东西了,查了下vue  API: https://router.vuejs.org/en/advanced/scroll-behavior.html ...

  8. MQTT简介-(转自cacard)

    MQTT - MQ Telemetry Transport   轻量级的 machine-to-machine 通信协议. publish/subscribe模式. 基于TCP/IP. 支持QoS. ...

  9. Java中生成唯一标识符的方法

    有时候业务需要生成唯一标识符,但又不能依赖于数据库中自动递增的字段产生唯一ID,比如多表同一字段需要统一一个唯一ID,此时我们就需要用程序来生成一个唯一的全局ID. UUID UUID是指在一台机器上 ...

  10. 『动善时』JMeter基础 — 27、通过JMeter函数助手实现参数化

    目录 1.测试计划中的元件 2.数据文件内容 3.函数助手配置 (1)函数助手的打开方式 (2)函数助手界面介绍 (3)编辑后的函数助手界面 4.HTTP请求组件内容 5.线程组元件内容 6.脚本运行 ...