云客户?
免费开始>
在MyJFrog >中升级
云有什么新>







概述

本页提供了一些与Artifactory一起使用Docker的高级主题。

使用自签名SSL证书

可以使用自签名SSL证书码头工人推/拉命令,但是要使其工作,您需要指定——insecure-registry每个不安全注册表的守护进程标志。

详情见码头工人的文档

例如,如果您将Docker作为服务运行,请编辑/etc/default/docker文件,并附加——insecure-registry标记你的注册表URL到DOCKER_OPTS变量,如下例所示:

页面内容

编辑DOCKER_OPTS变量
DOCKER_OPTS = " - h unix: / / / var /运行/码头工人。袜子——insecu-registry artprod.company.com"

需要重新启动Docker服务才能生效。

如果你正在使用Boot2Docker,请参阅Boot2Docker文档不安全的注册表

如果您没有对——insecure-registryDaemon标志,你应该得到以下错误:

错误消息
v2 ping尝试失败,错误:获取https://artprod.company.com/v2/: x509:无法验证artprod.company.com的证书,因为它不包含任何IP san

使用自己的证书

Artifactory开箱即用提供的NGINX配置引用了内部捆绑的证书和密钥,你可以用自己的证书和密钥替换它们。

详细信息请参见TLS证书管理


手动设置凭证

如果您无法登录Docker,您可能需要手动设置您的凭据。

Docker命令行工具支持使用基本HTTP身份验证对敏感操作(如推送)进行身份验证。

要强制对docker存储库进行身份验证访问,您需要向docker配置文件提供以下参数。

  • Docker端点URL(必须使用HTTPS进行基本身份验证才能工作)
  • 您的Artifactory用户名和密码(已格式化用户名:密码),Base64编码的字符串
  • 你的电邮地址

您可以使用以下命令直接从Artifactory获取这些字符串,并将它们复制/粘贴到~/中.dockercfg文件:

sudo

如果您使用“sudo”或以root用户(例如在安装Docker客户端后)使用Docker命令,请注意Docker配置文件应该放在/root/.dockercfg

直接从Artifactory获取.dockercfg条目

$ curl -uadmin:password "https://artprod.company.com//auth"

“https://artprod.company.com”:{
“auth”:“YWRtaW46QVA1N05OaHZTMnM5Qk02RkR5RjNBVmF4TVFl”,
“邮箱”:“admin@email.com”

Docker配置文件可以为您希望访问的每个注册表包含一个单独的身份验证块。

下面是一个有两个URL端点的例子:

{"https://artprod.company.com": {"auth":"YWRtaW46cGFzc3dvcmQ=", "email":"myemail@email.com"}, "https://artprod2.company.com": {"auth":"YWRtaW46cGFzc3dvcmQ=", "email":"myemail@email.com"}}

通过OAuth进行验证

Artifactory支持通过默认的GitHub OAuth提供程序使用OAuth对Docker客户端进行身份验证。当使用OAuth进行身份验证时,您不需要提供额外的凭据来执行码头工人登录Artifactory。

要为Docker客户端设置OAuth身份验证,请执行以下步骤:

  • 一般OAuth设置,确保自动创建用户选择OAuth,以确保在您第一次使用OAuth登录到Artifactory时为您创建用户记录。
  • 使用你的Git企业账号用OAuth登录Artifactory

一旦您通过Git Enterprise OAuth帐户登录到Artifactory, Docker客户端将自动检测并使用OAuth进行身份验证,因此您不需要提供额外的凭据。

版权所有©2023 JFrog Ltd。