3

我启动容器注册表:

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:
Error response from daemon: Get http://localhost:8082/v2/: received unexpected HTTP status: 503 Service Unavailable

我究竟做错了什么?当我使用本地 192.168.xx 地址时(以及将其添加到我的不安全注册表后),我遇到了同样的错误。

4

3 回答 3

4

我也尝试过,不得不搜索一段时间。

使用我看到的 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
于 2020-11-24T19:37:20.147 回答
1

因为每个 repo 可以有不同的身份验证或授权,所以您需要登录到特定的 repo。

假设您创建了一个 docker repo “myrepo”,您可以按如下方式登录

码头工人登录 localhost:8082/myrepo

于 2020-11-21T22:37:00.047 回答
1

首先,让我们通过运行以下 curl 来测试 docker 客户端是否可以访问 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 login 作为“docker login myartifactory:8082”

于 2020-11-23T06:09:33.413 回答