nexus搭建私有docker仓库

这篇具有很好参考价值的文章主要介绍了nexus搭建私有docker仓库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

Nexus之前已支持了maven/npm/composer,由于docker仓库和前面几个存在比较大的差异,所以我特此记录下走过的坑。希望能对后来者有所帮助~~(当然,docker私有仓库,大多数是推荐使用harbor,因为我这里的某些历史原因,就沿用nexus)

二、建立仓库

依次建立代理仓库、私有仓库、组合仓库。

需要注意的有以下几点:

  • 代理仓库可以添加多个
  • 私有仓库和组合仓库的端口号,必须暴露出去
  • 组合仓库需要把代理仓库和私有仓库组合起来
    docker nexus,docker,java,容器

先建立好存储空间:
docker nexus,docker,java,容器

2.1、代理仓库

docker nexus,docker,java,容器
docker nexus,docker,java,容器

  • https://nbi3meca.mirror.aliyuncs.com
  • http://f1361db2.m.daocloud.io

2.2、私有仓库(既可以pull镜像,又可以push镜像)

docker nexus,docker,java,容器

2.3、组合仓库(仅限于pull镜像)

docker nexus,docker,java,容器

  • 这里的顺序是:先二方库私有库,再是三方库代理库。
    docker nexus,docker,java,容器

三、添加权限

docker nexus,docker,java,容器

四、docker客户端

4.1、配置

{
# 对应组合仓库的ip和端口
  "registry-mirrors": ["http://192.168.5.6:8087"],
# 需要把组合仓库和私有仓库都加入进来
# 因为在推送镜像的时候是使用私有仓库,在拉取镜像的时候是使用组合仓库
   "insecure-registries": [
         "192.168.5.6:8086",
         "192.168.5.6:8087"]
}
  • 重启,使配置生效
systemctl daemon-reload && systemctl restart docker

4.2、登录并保存认证

docker login 192.168.5.6:8086 -u admin -p 123456

docker login 192.168.5.6:8087 -u admin -p 123456

  • cat ~/.docker/config.json
{
        "auths": {
                "192.168.5.6:8086": {
                        "auth": "YWRtaW46MTIzNDU2"
                },
                "192.168.5.6:8087": {
                        "auth": "YWRtaW46MTIzNDU2"
                },
                "harbor.xx.cloud": {
                        "auth": "YWRtaW46SGFyYm9xMTIzNDU="
                }
        }
}

好处是不用重复认证,你可以使用如下方法进行解密。

echo -n  "YWRtaW46MTIzNDU2" | base64 -d

echo -n  "YWRtaW46SGFyYm9xMTIzNDU=" | base64 -d

同理,你更可以进行主动加密。

echo -n 'admin:123456' | base64

五、推送和拉取镜像

  • 推送镜像
# 给构建好的image进行打tag
docker tag xxx/devops-service:1.0.7 192.168.5.6:8086/xxx/devops-service:1.0.7
# 推送到指定的docker仓库
docker push 192.168.5.6:8086/xxx/devops-service:1.0.7
  • 拉取镜像
docker pull 192.168.5.6:8086/xxx/devops-service:1.0.7

六、总结

5.1、走过的坑一:连接拒绝

没有暴露8086和8087端口

nexus是使用docker搭建的,需要进行一番修改。

[root@maven3 ~]# vi docker-compose.yml 
version: '3' 
services: 
  nexus: 
    restart: always 
    image: sonatype/nexus3 
#    image: docker.io/sonatype/nexus3
    container_name: nexus3 
    ports:
      - 8081:8081
      - 8082:8082
      - 8083:8083
      - 8084:8084
      - 8085:8085
# 新增8086和8087两个端口号
      - 8086:8086 
      - 8087:8087
    volumes: 
      - /opt/nexus:/opt/sonatype/nexus:Z
      - /data/nexus-data:/nexus-data:Z
  • 重启nexus
[root@maven3 ~]# docker-compose down
Stopping nexus3 ... done
Removing nexus3 ... done
Removing network root_default

[root@maven3 ~]# docker-compose up -d
Creating network "root_default" with the default driver
Creating nexus3 ... done

[root@maven3 ~]# docker ps
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                                        NAMES
99f41bdf4993        sonatype/nexus3                 "sh -c ${SONATYPE_..."   14 seconds ago      Up 13 seconds       0.0.0.0:8081-8087->8081-8087/tcp             nexus3
  • 确保8086和8087端口都暴露出去了
    docker nexus,docker,java,容器

5.2、404 Not Found

是因为没有Realms:Docker Bearer Token Realm进行激活。文章来源地址https://www.toymoban.com/news/detail-661464.html

六、说在最后的话

  • 一定要弄清楚端口号
  • docker仓库和npm/maven/composer的差异甚大

到了这里,关于nexus搭建私有docker仓库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 了解 Dockerfile 和搭建 Docker 私有仓库:让容器化部署变得更简单

    目录 1、Dockerfile 1.1什么是Dockerfile 1.2常用命令 1.3使用脚本创建镜像 2、Docker私有仓库 2.1私有仓库介绍: 2.2私有仓库搭建与配置 2.3上传镜像到私有仓库: 1.1什么是Dockerfile Dockerfile是由一些列命令和参数构成的脚本,这些命令应用于基础镜像并且最终创建一个新的镜像。 Dock

    2024年02月10日
    浏览(28)
  • Maven私有仓库搭建与使用【nexus的配置与使用】【Windows】

    在公司开发测试过程中,内网团队使用一个服务来节省外网宽带以及缓存Maven Respository中没有的jar包 允许上传和下载私有库,并且不被外部访问,安全稳定 官网下载地址,但是速度很慢,可以使用以下链接获取:添加链接描述 解压好下载的nexus压缩包,会有以下两个文件:

    2023年04月08日
    浏览(46)
  • Mac 电脑查看本地maven,及私有仓库的搭建与使用【nexus的配置与使用】

    查看状态如果要查看本地maven,使用命令行: 如下如localRepository标签 官网地址 解压后如下图 启动服务器/停止服务器 bin 目录下 执行命令: 如下图表面启动成功 此时浏览器访问:http://localhost:8081/ 进入到私服控制面板 查看状态及关闭服务器 配置环境变量(根据自己需要选择

    2024年02月07日
    浏览(30)
  • Docker学习入门(二):常用软件安装、掌握Docker迁移与备份、运用Dockerfile编写创建容器的脚本、搭建与使用docker私有仓库;

    Docker的学习目标: 4.掌握Tomcat Nginx等软件的常用的安装 5.掌握Docker迁移与备份相关命令 6.能够运用Dockerfile编写创建容器的脚本 7.能够搭建与使用docker私有仓库 8.学习总结 1.MYSQL的部署     (1)拉取mysql镜像          docker pull centos/mysql-57-centos7               (2)创建容

    2024年02月21日
    浏览(40)
  • docker容器:本地私有仓库、harbor私有仓库部署与管理

    目录 一、本地私有仓库 1、本地私有仓库简介 2、搭建本地私有仓库 3、容器重启策略介绍 二、harbor私有仓库部署与管理 1、什么是harbor 2、Harbor的特性 3、Harbor的构成 4、harbor部署及配置 ①部署docker-compose ②部署Harbor服务 ③登录创建项目 ④登录仓库并上传镜像 5、客户端测试

    2024年02月04日
    浏览(42)
  • Docker Compose 容器编排 + Docker--harbor私有仓库部署与管理

    目录 一、Docker Compose简介 1、Docker Compose 的YAML 文件格式及编写注意事项 2、Docker compose 使用的三个步骤 3、 Docker Compose配置常用字段 4、 Docker Compose 常用命令 5、 Docker Compose 文件结构 二: Docker Compose 安装 1、Docker Compose 环境安装  2、Docker Compose 文件结构 (1)准备依赖文件

    2024年02月15日
    浏览(35)
  • Nexus私有仓库+IDEA配置远程推送

    目录 一、docker安装nexus本地私服,Idea通过maven配置deploy本地jar包(简单) 二、docker push镜像到第三方nexus远程私服(shell命令操作) 三、springboot通过maven插件自动生成docker镜像并push到nexus私服(难) 代码有代码的管理平台,比如GitHub、GitLab、码云等。镜像也有镜像的管理平台

    2024年02月11日
    浏览(34)
  • docker搭建本地私有仓库

    有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似。 使用私有仓库有许多优点: Docker 官方提供了一个搭建私有仓库的镜像 registry (注册服务器),只需把镜像下载下来,运行容器并暴露5000端口

    2024年02月16日
    浏览(27)
  • docker搭建私有仓库

    在公司里面,自己的项目在打包成镜像时,可能需要将镜像共享给其它同事使用,如果使用公有仓库共享可能会不安全,且拉取镜像时受网络带宽影响,拉取镜像时会很慢。为解决这些问题,用户可以使用docker官方提供的registry来搭建本地私有仓库。 registry是一种无状态,高

    2024年02月03日
    浏览(25)
  • Docker搭建私有镜像仓库

    镜像仓库(Docker Registry)有公共的和私有的两种形式: 公共仓库 :例如Docker官方的Docker Hub,国内也有一些云服务商提供类似于Docker Hub的公开服务,比如网易云镜像服务、DaoCloud镜像服务、阿里云镜像服务等。 除了使用公开仓库外,用户还可以在本地搭建 私有Docker Registry 。企业

    2023年04月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包