赞
踩
直接启动docker以后在安装docker的服务器上执行以下脚本:
docker pull sonatype/nexus3
直接使用以下语句创建nexus数据目录,同时授予权限:
mkdir -p /usr/local/docker/nexus/nexus-data
chmod 777 /usr/local/docker/nexus/nexus-data
然后我们直接使用以下的命令启动我们的nexus镜像:
docker run -p 8081:8081 -p 8082:8082 -p 8083:8083 --privileged=true --name nexus -v /usr/local/docker/nexus/nexus-data:/nexus-data docker.io/sonatype/nexus3
直接执行以下命令放行端口
# 设置放行端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --zone=public --add-port=8082/tcp --permanent
firewall-cmd --zone=public --add-port=8083/tcp --permanent
# 刷新放行端口
firewall-cmd --reload
首先我们直接进入到我们前面设置的“/usr/local/docker/nexus/nexus-data”这个目录,然后在里面我们可以找到如下的文件,我们直接使用cat命令打开即可知道密码:
cat admin.password
然后我们直接访问http://10.10.10.169:8081/,然后我们直接输入admin和前面获取的密码,然后做一次密码的修改我们就可以登录到我们的nexus了。
hosted:本地存储,即同docker官方仓库一样提供本地私服功能
proxy:提供代理其他仓库的类型,如docker中央仓库
group:组类型,实质作用是组合多个仓库为一个地址
指定docker仓库名称、指定一个端口8082来通过http的方式访问仓库、勾选是否支持docker API VI,然后点击create repository 按钮创建hosted仓库
录入proxy仓库名称,然后在 Remote storage中输入需要代理的镜像仓库地址,这里我们选用网易的镜像地址:https://mqs3roi5.mirror.aliyuncs.com,因为docker 的中国境内的仓库地址有时候https://registry.docker-cn.com 有时不稳定会出现连接超时,Docker Index 选择Use Docker Hub
由于我们使用的时http而不是https 故需要在启动参数文件中设置,因此我们需要在修改daemon.json的配置信息
vi /etc/docker/daemon.json
修改完成以后的信息如下所示:
{
"registry-mirrors": ["https://mqs3roi5.mirror.aliyuncs.com"],
"insecure-registries":["10.10.10.169:8082","10.10.10.169:8083"]
}
直接执行以下命令重启docker
systemctl daemon-reload
systemctl restart docker
docker login 10.10.10.169:8082
在登录需要输入登录用户名及密码,即为你的nexus3的登录用户名及密码,然后我们可以看到如下的效果:
直接运行以下的脚本,然后就可以验证我们的proxy了
docker pull 10.10.10.169:8083/redis
此docker私服仓库中时没有redis的镜像的,故nexus3会从中央仓库中去拉取镜像,拉取成功之后,查看nexus3的proxy仓库发现已经存在了redis镜像
首先我们需要下载一个本地镜像,我们现在就从阿里的docker仓库下载一个nginx镜像
docker pull nginx
下载完成以后会看到如下所示的结果:
接着我们给这个nginx打一个tag
docker tag docker.io/nginx:latest 10.10.10.169:8082/docker.io/nginx:latest
然后我们会看到如下所示的tag
最后上传我们的nginx镜像到nexus
docker push 10.10.10.169:8082/docker.io/nginx
然后我们会在nexus查到刚刚上传的nginx的镜像:
若我们docker pull ip:port/redis出现上面的错误,那就有可能我们在配置proxy的代理的时候,这个代理的镜像地址有问题,推荐使用阿里云的docker镜像地址。
如果我们需要从阿里云的docker服务器上拉取镜像我们则使用proxy的端口来进行镜像的拉取,若我们的镜像是自己本地打包上传到nexus上的那么我们则使用hosted的端口来进行镜像的拉取,例如我们要拉取JDK:
docker serch jdk
我们会看到如下的查询结果页:
然后我们这时候假设我们需要下载的时候docker.io/primetoninc/jdk,那这时候我们就使用下面的代码的命令来进行拉取,千万不要加上docker.io,否则就没办法拉取
docker pull 10.10.10.169:8082/primetoninc/jdk
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。