registry-ui docker搭建私有仓库的一些问题笔记

搭建私有仓库,用docker-registry 作为仓库,docker-registry-ui  作为界面。

原来的docker-compose.yml如下

services:
  registry:
    image: registry:2
    container_name: registry
    ports:
      - "5000:5000"  # 外网访问的端口
    volumes:
      - ./data:/var/lib/registry  # 用于持久化数据存储
    environment:
      REGISTRY_HTTP_HEADERS_Access-Control-Allow-Origin: '[http://192.168.77.130:8051]'
      REGISTRY_HTTP_HEADERS_Access-Control-Allow-Methods: '[HEAD,GET,OPTIONS,DELETE]'
      REGISTRY_HTTP_HEADERS_Access-Control-Allow-Headers: '[Authorization,Accept,Cache-Control]'
    restart: always

  registry-ui:
    image: joxit/docker-registry-ui
    container_name: registry-ui
    environment:
      - REGISTRY_URL=http://127.0.0.1:5000
      - PUBLIC_URL=http://192.168.77.130:8051
      - NGINX_PROXY_PASS_URL=http://127.0.0.1:5000
      - SINGLE_REGISTRY=true
      - NGINX_RESOLVER=127.0.0.1
    ports:
      - "8051:80"  # Frontend 服务端口
    depends_on:
      - registry
    restart: always

如上启动之后,登录仓库界面会有跨域问题:

关键点在于        - REGISTRY_URL=http://127.0.0.1:5000  此处不能写127.0.0.1  会导致跨域问题。要写成      - REGISTRY_URL=http://192.168.77.130:5000  用registry容器所在的地址。

原因:容器内的 127.0.0.1 不等于 宿主机的 127.0.0.1。你在 docker-registry-ui 容器里配置的:

yaml- REGISTRY_URL=http://127.0.0.1:5000 

它指的是 容器自身的 127.0.0.1:5000,而不是宿主机的 127.0.0.1:5000 —— 所以访问会失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值