日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Rancher前奏--配置Nexus

發(fā)布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Rancher前奏--配置Nexus 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、安裝新版本Nexus

1.拉取鏡像

docker pull sonatype/nexus3

2.啟動容器

docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 -v /etc/localtime:/etc/localtime --name nexus3 sonatype/nexus3

3.開放端口

firewall-cmd --zone=public --permanent --add-port=8081/tcpfirewall-cmd --zone=public --permanent --add-port=8082/tcpfirewall-cmd --zone=public --permanent --add-port=8083/tcpsystemctl restart firewalld

4.查看密碼

cd /opt/sonatype/sonatype-work/nexus3cat admin.password

5.開機自啟

docker update --restart=always nexus3

6.訪問網(wǎng)址 http://ip:8081

二、配置docker私有倉庫

1.創(chuàng)建blob存儲

登陸之后,先創(chuàng)建一個用于存儲鏡像的空間

定義一個name,下邊的內(nèi)容會自動補全。

然后保存即可。

2,創(chuàng)建一個hosted類型的docker倉庫

點擊步驟如下:

這里我們看到docker類型有三種:

hosted : 本地存儲,即同 docker 官方倉庫一樣提供本地私服功能。
proxy : 提供代理其他倉庫的類型,如 docker 中央倉庫。
group : 組類型,實質(zhì)作用是組合多個倉庫為一個地址。

先來創(chuàng)建一個hosted類型的私有倉庫。

點擊 Repository下面的Repositories – Create repository – docker(hosted) :

Name: 定義一個名稱docker-local

Online: 勾選。這個開關(guān)可以設置這個Docker repo是在線還是離線。

Repository Connectors

?

3,創(chuàng)建一個proxy類型的docker倉庫

proxy類型倉庫,可以幫助我們訪問不能直接到達的網(wǎng)絡,如另一個私有倉庫,或者國外的公共倉庫,如官方的dockerhub鏡像庫。

創(chuàng)建一個proxy類型的倉庫

Name: proxy-docker-hub

Repository Connectors: 不設置。

Remote Storage: docker hub的proxy,https://8pf5a51j.mirror.aliyuncs.com這個是一個加速的鏈接

Docker Index: Use Docker Hub

Storage:idocker-hub

4.創(chuàng)建一個group類型的docker倉庫

group類型的docker倉庫,是一個聚合類型的倉庫。它可以將前面我們創(chuàng)建的3個倉庫聚合成一個URL對外提供服務,可以屏蔽后端的差異性,實現(xiàn)類似透明代理的功能。

name:docker-group

Repository Connectors:啟用了一個監(jiān)聽在8181端口的http連接器;

Storage:選擇專用的blob存儲idocker-hub。

group?: 將左邊可選的3個倉庫,添加到右邊的members下。

三、測試

1.pull鏡像

[root@nexus ~]# docker pull redis Using default tag: latest latest: Pulling from library/redis 8559a31e96f4: Pull complete 85a6a5c53ff0: Pull complete b69876b7abed: Pull complete a72d84b9df6a: Pull complete 5ce7b314b19c: Pull complete 04c4bfb0b023: Pull complete Digest: sha256:800f2587bf3376cb01e6307afe599ddce9439deafbd4fb8562829da96085c9c5 Status: Downloaded newer image for redis:latest docker.io/library/redis:latest

2.登錄私服

[root@nexus ~]# docker login -u admin -p admin idocker.io WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded

3.push鏡像

docker push idocker.io/nginx

其他服務器登錄nexus服務器需要做的配置

修改其他要訪問nexus的服務器的daemon.josn文件

vi /etc/docker/daemon.json

添加如下內(nèi)容: ??自己私服的ip地址

{"registry-mirrors": ["http://192.168.xxx.xxx"],"insecure-registries": ["http://192.168.xxx.xxx"]}

然后重啟daemon

Systemctl daemon-reload

再重啟docker

systemctl restart docker

登錄私服

docker login 192.168.xxx.xxx

四、Nginx分流

在此服務器上安裝nginx 做分流 配置拉取和推送鏡像的端口 這樣就拉取或者推送鏡像時 就可以直接寫192.168.xxx.xxx? 端口號就不用寫了

cd /etc/nginx/ vi nginx.conf

修改為下面內(nèi)容:

user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events {worker_connections 1024; } http{ upstream nexus_docker_get {server 192.168.xxx.xxx:8181; } upstream nexus_docker_put {server 192.168.xxx.xxx:8182; } server {listen 80;listen 443 ssl;server_name idocker.io;access_log /var/log/nginx/idocker.io.log;# 證書ssl_certificate /etc/nginx/conf.d/ssl/out/idocker.io/idocker.io.crt; # 證書路徑根據(jù)上面生成的來定ssl_certificate_key /etc/nginx/conf.d/ssl/out/idocker.io/idocker.io.key.pem;ssl_protocols TLSv1.1 TLSv1.2;ssl_ciphers '!aNULL:kECDH+AESGCM:ECDH+AESGCM:RSA+AESGCM:kECDH+AES:ECDH+AES:RSA+AES:';ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:10m;# disable any limits to avoid HTTP 413 for large image uploadsclient_max_body_size 0;# required to avoid HTTP 411: see Issue #1486 (https://github.com/docker/docker/issues/1486)chunked_transfer_encoding on;# 設置默認使用推送代理set $upstream "nexus_docker_put";# 當請求是GET,也就是拉取鏡像的時候,這里改為拉取代理,如此便解決了拉取和推送的端口統(tǒng)一if ( $request_method ~* 'get') {set $upstream "nexus_docker_get";}# 只有本地倉庫才支持搜索,所以將搜索請求轉(zhuǎn)發(fā)到本地倉庫,否則出現(xiàn)500報錯if ($request_uri ~ '/search') {set $upstream "nexus_docker_put"; }index index.html index.htm index.php;location / {proxy_pass http://$upstream;proxy_set_header Host $host;proxy_connect_timeout 3600;proxy_send_timeout 3600;proxy_read_timeout 3600;proxy_set_header X-Real-IP $remote_addr;proxy_buffering off;proxy_request_buffering off;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto http;}

nginx -t測試配置文件修改后的語法是否正確

使用命令nginx -s reload命令重啟讓配置文件生效

五、賬號分配

?

總結(jié)

以上是生活随笔為你收集整理的Rancher前奏--配置Nexus的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。