關於nginx代理harbor來推送鏡像


一、設置原因

由於局域網限制,機器A(裝有harbor的機器)、機器B(nginx代理服務器)、機器C(我的可以連接到鏡像倉庫的服務器,部署了一些服務的服務器)

需求是需要把C里面鏡像推送到A

 

 

 

二、大概步驟

1、nginx做代理

2、harbor里面設置代理后訪問的地址

3、需要login的機器的docker要設置docker的配置文件,並重啟docker

三、具體步驟截圖

1、nginx做代理

 1 ## 設置upstream
 2 upstream harbor{
 3     server x.x.x.x:xx;            # 后端harbor地址
 4 }
 5 ## 設置代理后地址及監聽端口等
 6 server {
 7     listen 80;        # 代理后端口
 8     server_name xx.xx.com;        # 代理后訪問地址
 9 
10     location /harbor {
11         proxy_pass http://harbor;            # 這里對應的是上面upstream后指定的名稱
12      }
13 }

2、harbor里面設置代理后訪問的地址

通過nginx配置了代理之后,還需要修改harbor的配置文件設置proxy地址:

vim harbor.yml

external_url: http://xx.xx.com

或者

echo external_url: http://xx.xx.com >> harbor.yml

修改完之后重啟應用配置

Harbor修改配置文件如何生效?

  1.  進入harbor的安裝目錄
  2. 修改harbor.yml
  3. ./prepare
  4. docker-compose down -v
  5. docker-compose up -d

引用:https://www.cnblogs.com/chase2020/p/13926372.html

完成之后應該是可以通過代理地址訪問了,但是需要docker login需要修改一些配置

3、添加對私有倉庫的認證(自行修改配置地址)

[root@k8s-master ~]# vim /etc/docker/daemon.json

{
        "registry-mirrors": ["http://f1361db2.m.daocloud.io"],
        "insecure-registries": ["192.168.30.24"]
}

#重啟docker
[root@k8s-master ~]# systemctl restart docker

 

4、成功完成最后一項!嘗試login成功。

 

 

參考的文章: https://blog.csdn.net/lcl_xiaowugui/article/details/105422794


免責聲明!

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



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