使用 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

 

 

posted @ 2018-04-28 17:21  末日天空  阅读(10243)  评论(3编辑  收藏  举报