Nexus OSS 3.x中怎么创建一个Docker私有仓库,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
基础环境
运行nexus需满足下列条件:
1,内存不小于2G,不一定是物理内存,swap也可以。
2,JDK需要1.8以上版本。
具体做法如下:
https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3
https://download.sonatype.com/nexus/3/nexus-3.14.0-04-unix.tar.gz
1,下载nexus,并解压到某个目录下。我这里放在 /home/nexus 中。这里面有两个目录, nexus-3.14.0-04 放置程序及配置文件, sonatype-work 放置数据文件。
2,修改nexus端口,默认是8081,此步骤可选。
/home/nexus/nexus-3.14.0-04/etc/nexus-default.properties
3,启动nexus,命令如下。这里不推荐使用root用户运行nexus服务。另外,它支持这些参数 start|stop|run|run-redirect|status|restart|force-reload 进行服务管理。
useradd -M nexuser
cd /usr/local && chown nexuser:nexuser jdk1.8.0_112
su -c "/home/nexus/nexus-3.14.0-04/bin/nexus start" nexuser
注: 可以创建专有用户,保证对jdk目录有可操作权限
创建Docker私有仓库
1、打开浏览器即可看待nexus页面,默认用户名 admin ,默认密码 admin123
2,创建blob,用于数据存储,默认存放在default中。blob类似bucket,存放源数据及xml等文件。这里创建一个名叫docker的blob,默认存储位置在 /home/nexus/sonatype-work/nexus3/blobs/docker ,此步骤可选。
3、点击设置界面,选择Repositories,点击Create repository,如下图所示:
4、选择仓库类型,这里Docker有三种类型,分别是group、hosted、proxy。这里只演示hosted类型,所以选择docker(hosted),如下图:
5、配置仓库
首先必须为该仓库指定一个唯一的名称,然后是HTTP的端口,最后是docker的api与该仓库进行交互,如下图:
注意这个HTTP端口号也比较关键,在下面修改docker配置参数需用到,后面与该仓库进行交互也需要用到。
最后点击下方Create repository完成创建仓库。
6、安全设置
点击Realms - 将Docker Bearer Token Realm双击Active
https://help.sonatype.com/repomanager3/formats/docker-registry/authentication
修改docker配置
1、编辑配置
第一种
# vim /etc/systemd/system/multi-user.target.wants/docker.service
找到ExecStart属性,在dockerd后面添加--insecure-registry 服务器IP:Docker仓库端口 ,最终如下:
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.1.13:8082
第二种 vim /etc/docker/daemon.json { "insecure-registries":["http://192.168.1.13:8082"]
}
2、重启服务
# systemctl daemon-reload
# systemctl restart docker
3、查看设置是否生效
# docker info
4、登录nexus私服仓库,按提示输入账号admin和密码(注意配置文件/root/.docker/config.json)
# docker login 192.168.1.13:8082
5、使用镜像推送测试
docker pull hello-world
docker tag hello-world 192.168.1.13:8082/hello-world
docker push 192.168.1.13:8082/hello-world
注:
打标记
在上传镜像之前需要先打一个tag,用于版本标记。
格式:
# docker tag <imageId or imageName> <nexus-hostname>:<repository-port>/<image>:<tag>
例如:
# docker tag hello-world 192.168.1.13:8082/hello-world:latest
上传镜像
# docker push 192.168.1.13:8082/hello-world
拉取镜像
从私服中下载镜像也很简单,执行以下命令即可
# docker pull 192.168.1.13:8082/hello-world
搜索镜像
# docker search 192.168.1.13:8082/hello-world
关于Nexus OSS 3.x中怎么创建一个Docker私有仓库问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。