当前位置: 首页 > 工具软件 > Portus > 使用案例 >

portus - SUSE团队出品的docker registry外壳

仲孙绍元
2023-12-01

说是外壳,因为确实,portus是在docker registry前边加了一道验证防线。我们过去使用简单的http relam进行验证,就是htpasswd,简单,但是在中型团队中,就不大好使了。

今天测试了下portus,我擦,gitclone后,直接compose-setup.sh就会开始安装和运行,但是踩了几个坑,直让我觉得 这老外的脑袋确实不一样。

SSL到底用不用

运行后,打开web界面,3000端口的那个,输入reg,然后reg.ops.ac.cn(我们的私有registry),这个地方到底选SSL还是不选。不管你选不选,反正我是没有check过,最终发现,不选才能push到仓库。不选~~ 不选~~ 不选

为啥要自带一个registry

为啥要自带registry呢,而且一般大伙都已经有了registry,真是一键安装呀。

registry貌似在v2之后就可以用realm进行调用,我不懂这个玩意儿,看配置

下面的配置,是在本地跑portus,本地跑自带的registry的registry配置,比我的基于http basic验证的registry多了auth和notify。

version: 0.1
storage:
  filesystem:
    rootdirectory: /registry_data
  delete:
    enabled: true
http:
  addr: 0.0.0.0:5000
  debug:
    addr: 0.0.0.0:5001
  tls:
     certificate: /root/Portus/compose/registry/keys/portus.crt
     key: /root/Portus/compose/registry/keys/portus.key
auth:
  token:
    realm: http://portus.ops.ac.cn:3000/v2/token
    service: portus.ops.ac.cn:5000
    issuer: portus.ops.ac.cn
    rootcertbundle: /etc/docker/registry/portus.crt
notifications:
  endpoints:
    - name: portus
      url: http://portus.ops.ac.cn:3000/v2/webhooks/events
      timeout: 500ms
      threshold: 5
      backoff: 1s

自用的registry配置

version: 0.1
log:
  fields:
    service: registry
storage:
    cache:
        blobdescriptor: inmemory
    filesystem:
        rootdirectory: /var/lib/registry
http:
    addr: :5000
    headers:
        X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

调了几个小时,把push这关给过了,不过notify还不行

黑盒测试真实爽呀,紧张的都睡不着觉了

说不选SSL吧,看下面,主动送上门来了

2016/11/28 15:34:45 http: TLS handshake error from 192.168.3.123:44824: tls: first record does not look like a TLS handshake
2016/11/28 15:44:45 http: TLS handshake error from 192.168.3.123:45738: tls: first record does not look like a TLS handshake

重新测试下

哈哈,刚才说的话好多都放屁了, 即使是开启SSL的情况,也是可以push成功的哦,直接用web账号密码,不用生成一次性密码也是可以push成功。

擦来,真神奇,不过push功能貌似不大好用。等待下,因为我发现,在安装完后的1个小时后,portus主动联系registry,貌似想拉仓库metadata。

 类似资料: