搭建Nexus Repository包管理系统

下载安装程序

下载Nexus Repository最新版本

配置说明

将下载后的文件传输到服务器上

#修改配置文件
vi /etc/security/limits.conf #添加
* soft nofile 65536 #修改服务配置
vi /etc/systemd/system.conf #修改
DefaultLimitNOFILE=65536 #重启
reboot #查看结果
ulimit -n #将当前目标下的文件上传到目标服务器的指定路径
scp nexus-3.23.0-03-unix.tar root@192.168.0.5:/opt/ #解压
tar -xvf nexus-3.23.0-03-unix.tar #做一个软链接方便访问和更新
ln -s /opt/nexus-3.23.0-03/ /nexus #修改运行用户
vi /nexus/bin/nexus.rc #修改运行用户,除非自己个人使用否则不要用root用户
run_as_user="root" ln -s /nexus/bin/nexus /etc/init.d/nexus #init.d设置
cd /etc/init.d
chkconfig --add nexus
chkconfig --levels 345 nexus on
service nexus start #创建Nexus服务
vi /etc/systemd/system/nexus.service
[Unit]
Description=nexus service
After=network.target [Service]
Type=forking
LimitNOFILE=65536
ExecStart=/nexus/bin/nexus start
ExecStop=/nexus/bin/nexus stop
User=root
Restart=on-abort
TimeoutSec=600 [Install]
WantedBy=multi-user.target

如果没有安装JAVA,请看:

安装Java1.8

#重新加载服务
systemctl daemon-reload #开机启动
systemctl enable nexus.service #运行服务
systemctl start nexus.service #查看日志
tail -f /opt/sonatype-work/nexus3/log/nexus.log

访问http://192.168.0.5:8081 进入管理界面。

创建YUM仓库

创建YUM代理仓库官方说明

Nexus服务器域名和端口:repo.bluersw.com:8081

Proxy仓库:

Group仓库:

客户端配置:

#备份
cd /etc/yum.repos.d/
mkdir bak
cp *.repo bak/ vi /etc/yum.repos.d/CentOS-Base.repo

修改CentOS-Base文件内容:

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://repo.bluersw.com:8081/repository/repo-bluersw/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://repo.bluersw.com:8081/repository/repo-bluersw/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://repo.bluersw.com:8081/repository/repo-bluersw/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://repo.bluersw.com:8081/repository/repo-bluersw/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
yum clean all
yum makecache #更新系统第一次会比较慢
yum update -y

下载的RPM包都存储在Nexus服务器上,以后其他服务器照此配置就不用从外网下载了。

创建Docker仓库

创建Docker仓库官方说明

Proxy仓库:

  • 仓库名称:hub-docker-proxy
  • 仓库类型:proxy
  • 远程仓库地址:https://registry-1.docker.io
  • Repository Connectors:不创建(由Group仓库负责)
  • Allow anonymous docker pull ( Docker Bearer Token Realm required ):true(勾选)
  • Enable Docker V1 API:勾选
  • Docker Index:Use Docker Hub

Hosted仓库:

  • 仓库名称:my-docker-host
  • 仓库类型:hosted
  • Repository Connectors:HTTP 8082端口(负责Push Image)
  • Allow anonymous docker pull ( Docker Bearer Token Realm required ):true(勾选)
  • Enable Docker V1 API:勾选
  • 对外地址:http://repo.bluersw.com:8082

Group仓库:

  • 仓库名称:docker-bluersw(含hub-docker-proxy和my-docker-host)
  • 仓库类型:group
  • Repository Connectors:HTTP 8083端口(负责Pull Image)
    • Allow anonymous docker pull ( Docker Bearer Token Realm required ):true(勾选)
  • 对外地址:http://repo.bluersw.com:8083

group类型的Docker仓库只能pull不能push。

在Security中打开Realms界面,激活Docker Bearer Token Realm 选项。

客户端配置:

vi /etc/docker/daemon.json

修改Docker的daemon配置文件,添加上述两个Docker私服地址。

{
"insecure-registries": ["http://repo.bluersw.com:8082","http://repo.bluersw.com:8083"]
}
#重启服务
systemctl restart docker #登录
docker login http://repo.bluersw.com:8082
docker login http://repo.bluersw.com:8083 #使用代理服务器下载镜像,镜像会存在代理服务器上供其他人下载
docker pull repo.bluersw.com:8083/hello-world [root@ops docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
repo.bluersw.com:8083/hello-world latest bf756fb1ae65 4 months ago 13.3kB #改名
docker tag repo.bluersw.com:8083/hello-world repo.bluersw.com:8082/hello-world #上传到Docker私有仓库
docker push repo.bluersw.com:8082/hello-world

www.bluersw.com

最新文章

  1. ASP.NET Core真实管道详解[1]:中间件是个什么东西?
  2. springmvc集成shiro例子
  3. BZOJ 1303 CQOI2009 中位数图 水题
  4. CAShapeLayer(持续更新)
  5. Android——ListView
  6. M端页面-绝对定位布局
  7. .net平台是什么?.net平台的组成,.net平台的好处
  8. ubuntu16.10下安装erlang和RabbitMQ
  9. 含有n个元素的整型数组,将这个n个元素重新组合,求出最小的数,如{321,3,32},最小的数为321323
  10. h5 文件下载
  11. DRF分页组件
  12. TensorFlow保存和载入模型
  13. Linux Oracle安装
  14. MAC常用软件推荐
  15. Laravel 5.5 FormRequest 自定义错误消息 postman调试时X-Requested-With设为XMLHttpRequest
  16. 一些java的部署执行编译等命令
  17. 使用JSONP彻底解决Ajax跨域访问Cookie Session的方案
  18. work_log
  19. Python 学习笔记(六)Python第一个程序
  20. eclipse使用git下载项目

热门文章

  1. Scrapy爬虫框架基本使用
  2. C/S程序设计范式
  3. 洛谷p1149
  4. HTTP头部信息和错误代码详解-《HTTP权威指南》
  5. spring内嵌jetty容器,实现main方法启动web项目
  6. SpringMVC源码学习:容器初始化+MVC初始化+请求分发处理+参数解析+返回值解析+视图解析
  7. 环境篇:Superset
  8. Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.wrapRefArray([Ljava/lang/Object;)Lscala/collection/mutable/WrappedArray
  9. 推荐一款 python 管理工具:anaconda
  10. UDP编程中的connect