docker 如何登录jfrog容器注册表?

dojqjjoe  于 2023-04-05  发布在  Docker
关注(0)|答案(3)|浏览(311)

我启动容器注册表:

docker run --name artifactory -d -p 8081:8081 -p 8082:8082 docker.bintray.io/jfrog/artifactory-jcr:latest

我能够使用UI登录并创建存储库等。
现在我想使用CLI登录:

docker login localhost:8082
Username: admin
Password:

守护程序的错误响应:获取http://localhost:8082/v2/:收到意外的HTTP状态:503服务不可用
我做错了什么?当我使用我的本地192.168.x.x地址时(以及将其添加到不安全的注册表后),我得到了同样的错误。

insrf1ej

insrf1ej1#

我也试过了,找了一会儿。
使用我看到的API:* “留言”:“状态代码:503,原因短语:要使用Artifactory,您必须首先接受EULA”*
我没有找到如何使用UI签名,但它是这样工作的:

$ curl -XPOST -vu admin:password http://localhost:8082/artifactory/ui/jcr/eula/accept

然后我就可以登录了:

$ curl -XPOST -vu admin:password http://localhost:8082/artifactory/ui/jcr/eula/accept
8:35
docker login localhost:8081/docker/test
Username: admin
Password:
Login Succeeded
8i9zcol2

8i9zcol22#

首先,让我们测试docker客户端是否可以通过运行下面的curl来访问JCR:
curl -u http://localhost:8082/artifactory/api/docker/docker/v2/token
此外,看起来docker客户端没有将localhost作为docker容器的IP,而是将其作为服务器的主机,要检查这一点,请在/etc/hosts文件中添加以下行:
127.0.0.1 myartifactory
然后通过UI使用myartifactory:8082访问它,如果可以访问,则使用docker登录名“docker login myartifactory:8082”

nmpmafwu

nmpmafwu3#

因为每个存储库可以有不同的身份验证或授权,所以您需要登录到特定的存储库。
假设你创建了一个docker repo“myrepo”,你可以按如下方式登录
docker login localhost:8082/myrepo

相关问题