如何执行匿名pull,但需要认证才能推送到Docker存储库

Batel Tova
2021-09-13 07:32

默认情况下,权限为匿名用户读取和部署/缓存对于任何远程存储库和对于任何存储库类型:

用户添加图片

可以通过Artifactory UI或REST API.例如,对于前者,要执行匿名提取,您需要启用允许匿名访问通过下面的UI安全>设置,如下:

用户添加图片

之后,您将能够匿名地提取图像,如下例所示:

& docker pull /docker/nginx

然后,你会在你的request.log

29 c707c617220f15 | 52.16.203.109 |匿名| | / api /码头工人/码头工人/ v2 / nginx /表现/最新| 200年
43840 d78ad848b81 | 52.16.203.109 |匿名| | / api /码头工人/码头工人/ v2 / nginx /表现/ sha256:0efad4d09a419dc6d574c3c3baacb804a530acd61d5eba72cb1f14e1f5ac0c8f | 200年

的版本在Artifactory 4.7.0之前,可以通过使用虚拟Docker存储库连同本地Docker存储库.后者应该配置为力身份验证,如下:

用户添加图片

前者应该用力身份验证复选框未选中,并包含本地存储库

用户添加图片

虽然这将允许匿名的拉虚拟存储库,则完全不允许推送。只能通过推到本地存储库这确实需要身份验证。因此,尽管拉和推将到不同的地方,但这不会消耗Artifactory服务器或正在拉和推的客户机上的任何额外空间。

下面是一个推的例子:

Docker登录Docker -artifactory:8443

Docker推Docker -artifactory:8443/nginx

下面是一个拉的例子:

Docker pull Docker -artifactory:8444/nginx