我有一个本地 Jfrog Artifactory Pro。
我使用“http://localhost:8081/artifactory/webapp/#/home”来访问我的 Artifactory。
我创建了本地 Docker 注册表:
我从 Rest API 配置了直接反向代理:
$ curl -u admin:xxxxxx-i "http://127.0.0.1:8081/artifactory/api/system/configuration/webServer"
HTTP/1.1 200 OK
Server: Artifactory/6.2.0
X-Artifactory-Id: de89ec654198c960:3f9aa2d0:167a7c20d5e:-8000
Access-Control-Allow-Methods: GET, POST, DELETE, PUT
Access-Control-Allow-Headers: X-Requested-With, Content-Type, X-Codingpedia
Cache-Control: no-store
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 16 Dec 2018 13:04:52 GMT
{
"key" : "direct",
"webServerType" : "DIRECT",
"artifactoryAppContext" : "artifactory",
"publicAppContext" : "artifactory",
"serverName" : "127.0.0.1",
"serverNameExpression" : "*.localhost",
"artifactoryServerName" : "localhost",
"artifactoryPort" : 8081,
"dockerReverseProxyMethod" : "SUBDOMAIN",
"useHttps" : false,
"useHttp" : true,
"httpsPort" : 443,
"httpPort" : 8081,
"upStreamName" : "artifactory"
}
来自神器的配置:
我想通过 docker 客户端登录我的注册表“mylocaldocker”,但出现错误:
$ docker login mylocaldocker.localhost -u admin -p xxxxxx
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://mylocaldocker.localhost/v2/: dial tcp: lookup mylocaldocker.localhost on 192.168.65.1:53: no such host
如何登录artifactory dockerregistry?并向其拉/推图像!?
首先:与 Artifactory 相关的 docker 登录 -> 配置 -> HTTP 设置 我使用“Docker 访问方法”作为“存储库路径”
docker登录-u admin -p **** x.x.x.x:8081
第二: 由于docker的限制,我们无法使用本地主机登录。 我们应该用真机IP(私有IP)替换“localhost”或“127.0.0.1”。
并将 private_ip:8081 (x.x.x.x:8081) 添加到 docker 中的不安全注册表。 请参阅此链接中的答案:Pull Artifactory Docker Images
不是直接回答OP,但我会在这里添加一个答案,因为我发现Artifactory文档相当模糊。我正在使用 Artifactory 6 和 nginx 的 docker-compose 设置,该设置已被弃用,但我很确定这仍然适用于使用 nginx 的较新实例。
进行设置时,您应该有一个与存储库名称对应的 DNS 条目。如果您的主 URL 是 https://artifactory.domain.com,您将需要一个指向同一 IP 的 dockerrepo.artifactory.domain.com DNS 条目。您的 SSL 证书应在 SAN 中具有 dockerrepo.artifactory.domain.com(或 *.artifactory.domain.com 作为通配符)的条目。
然后您可以使用
登录docker登录dockerrepo.artifactory.domain.com
提供您的用户名(如果使用 SSO,可能是您的 UPN/电子邮件)和密码(如果使用 SSO,请提供您的 API 密钥)。