搭建Nexus Repository包管理系統


搭建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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM