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. ES6学习-4 解构赋值(1)数组的解构赋值

    解构赋值是ES6很大的一个提升,为我们带来了很多方便,但用不好,会使程序的可读性变差,所以用时要注意,尽量保持程序的易读性. 数组解构赋值 在JS没有支持解构赋值之前,我们声明几个变量并赋值通常都是像 ...

  2. MySQL之数据定义语言(DDL)

    写在前面 本文中 [ 内容 ] 代表啊可选项,即可写可不写. SQL语言的基本功能介绍 SQL是一种结构化查询语言,主要有如下几个功能: 数据定义语言(DDL):全称Data Definition L ...

  3. [Java] Hibernate

    背景 持久化技术框架 封装了JDBC做数据库相关功能开发的重复性工作 比如创建连接,关闭连接,把字段逐一映射到属性中等 使用 在数据库中创建表 创建java project 导入hibernate依赖 ...

  4. LVM 相关知识

    LVM 相关知识 一.示例图 二.概念 名词 全称 释义 PV Physical Volume 物理硬盘.硬盘分区或者RAID磁盘阵列,先要创建pv VG Volume Group 卷组建立在物理卷之 ...

  5. bond4以及vlan子接口配置

    场景: 前提,交换机的配置由网络工程师配合! 1.跨交换机做bond,模式为LACP,linux双网卡做bond4,模式为4: 2.系统为centos7.0-123: 3.服务器仅有两张万兆网卡,为e ...

  6. 012.Kubernetes的configmap和secret配置

    使用configmap对多有的配置文件进行统一管理 一 configmap配置管理 1.1 检查mysql的配置 [root@docker-server1 storage]# kubectl get ...

  7. Java8 Period 类与 Duration 类 用法详解

    引言 Java 8 中引入了两个与日期相关的新类: Period :基于日期值 Duration:基于时间值 它们最大的作用就不需要你自己复杂的计算关于两个年月日之间的相差的时间或日期啦. Perio ...

  8. Linux 使用命令发送邮件

    1.关闭本机的sendmail服务或者postfix服务 #执行下面的命令,关闭sendmail和postfix服务 #sendmial [root@db-backup ~]# service sen ...

  9. Linux 系统日志和系统信息常用命令介绍

    日志文件 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 / ...

  10. 图解 Redis | 不就是 AOF 持久化嘛

    AOF 日志 试想一下,如果 Redis 每执行一条写操作命令,就把该命令以追加的方式写入到一个文件里,然后重启 Redis 的时候,先去读取这个文件里的命令,并且执行它,这不就相当于恢复了缓存数据了 ...