zoukankan      html  css  js  c++  java
  • 关于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

  • 相关阅读:
    JavaWeb--Cookie和Session小练习(完善版)
    JavaWeb--Cookie和Session小练习
    Servlet第五篇【Response总结】
    Servlet第四篇【Request总结】
    Servlet第三篇【ServletConfig、ServletContext】
    Servlet第二篇【Servlet实现线程安全及其他细节补充】
    Servlet第一篇【Servlet简介、作用、生命周期、实现】
    JavaWeb--HTTP协议
    Java单元测试
    JavaWeb--XML的解析(2)
  • 原文地址:https://www.cnblogs.com/McRemend/p/14252403.html
Copyright © 2011-2022 走看看