使用 Nexus Repository Manager 搭建私有docker仓库

Posted 末日天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 Nexus Repository Manager 搭建私有docker仓库相关的知识,希望对你有一定的参考价值。

使用容器安装Nexus3

1.下载nexus3的镜像:

docker pull sonatype/nexus3

2.使用镜像启动一个容器:

docker run -d --name nexus  --restart=always -p 5000:5000 -p 8081:8081 sonatype/nexus3

注:5000端口是用于镜像仓库的服务端口   8081 端口是nexus的服务端口

3.启动之后我们就可以通过http://服务器IP:8081访问。

默认账号密码为admin/admin123

 

创建Docker私有仓库

通过浏览器访问Nexus: 
http://服务器IP:8081

点击右上角进行登录,通过初始用户名和密码进行登录(admin/admin123):

 

点击设置界面,选择Repositories,点击Create repository,如下图所示: 

 

选择仓库类型,这里Docker有三种类型,分别是group、hosted、proxy。这里只演示hosted类型,所以选择docker(hosted),如下图: 

注:Docker镜像仓库类型含义解释如下:
  hosted : 本地存储,即同docker官方仓库一样提供本地私服功能

  proxy : 提供代理其他仓库的类型,如docker中央仓库

  group : 组类型,实质作用是组合多个仓库为一个地址

指定docker仓库的名称、指定一个端口用来通过http的方式进行访问仓库、勾选是否支持docker API V1,然后create repository

因为我们测试的时候不是使用加密的HTTPS进行访问,所以这里需要增加一个docker的启动参数,给他指定私库的地址,如下:

编辑/etc/docker/daemon.json 增加如下内容,当然也可通过启动参数增加

{

   "insecure-registries":["http://172.17.9.81:5000"]

}

重启docker进程: systemctl restart docker

查看docker信息: docker info ,有如下输出即正常

 

登录私库

要使用私库进行上传下载需要进行登录连接到Nexus

  docker login http://172.17.9.81:5000/repository/docker-assoft/

Docker上传镜像到私库

使用docker tag 对镜像进行管理(必须进行此项操作)

  docker tag使用格式:

    docker tag SOURCE_IMAGE[:TAG]  TARGET_IMAGE[:TAG]

  docker tag portainer-temlates-new:latest 172.17.9.81:5000/portainer-templates:v1

  docker push 172.17.9.81:5000/portainer-templates:v1

图例:使用tag进行打标,正常上传的结果

 

图例:不进行tag打标,会出现denied: requested access to the resource is denied报错

 

 

上传完成后,在nexus中对应的docker库中,即可看到此镜像

 

 

下载私库中的镜像

1、删除本地上例实验中的镜像(docker rmi 172.17.9.81:5000/portainer-templates:v1)

 

2docker pull 172.17.9.81:5000/portainer-templates:v1

 

 

以上是关于使用 Nexus Repository Manager 搭建私有docker仓库的主要内容,如果未能解决你的问题,请参考以下文章

Nexus Repository Manager 搭建私有docker仓库

使用 Nexus Repository Manager 搭建私有docker仓库

使用 Nexus3 Repository Manager 搭建 npm 私服

【nexus】Nexus Repository Manager 镜像清理的task设置

nexus repository 删除了库怎么恢复

Nexus Repository Manager 使用笔记