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





概述

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

使用自签名SSL证书

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

详细信息请参见码头工人的文档

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

页面内容

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

要使其生效,需要重新启动Docker服务。

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

如果您不进行所需的修改——insecure-registryDaemon标志,你应该得到以下错误:

错误消息
Get https://artprod.company.com/v2/: x509: cannot validate certificate for artprod.company.com,因为它不包含任何IP san

使用您自己的证书

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

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


手动设置凭据

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

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

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

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

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

sudo

如果您使用Docker命令时带有"sudo",或者作为根用户(例如在安装了Docker客户端之后),请注意Docker配置文件应该放在下面/root/.dockercfg

直接从Artifactory获取.dockercfg条目

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

" https://artprod.company.com ": {
“身份验证”:“YWRtaW46QVA1N05OaHZTMnM5Qk02RkR5RjNBVmF4TVFl”,
“电子邮件”:“admin.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登录Artifactory时为您创建了一个用户记录。
  • 用你的Git企业账号登录到Artifactory

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

版权所有©2022 JFrog有限公司