通过将任何容器注册表迁移到Artifactory来扩展您的开发经验

随着如今开发人员必须使用的可用包格式的范围越来越广,管理和维护这些工具的复杂性也在不断增加。JFrog Artifactory是一个通用的工件管理器支持所有主要的包格式,它适用于几乎任何开发生态系统——包括Docker环境。
为了增强使用Docker的体验,您可以无缝迁移您的码头工人注册表Artifactory。
无论您使用的是亚马逊的ECR, Docker的DTR, Docker Hub,谷歌的GCR, Quay或任何基于通用令牌的注册表,这个过程可以简单到运行一个命令,当您使用我们的Docker2Artifactory移居者。这包括Docker映像迁移以及对所选源的权限迁移。迁移包括选择源的组、用户、权限和组织机器人(对于码头)。
确定源和身份验证方法
Docker2Artifactory迁移工具适用于各种注册中心,每种注册中心都有自己独特的操作模式和身份验证需求。因此,迁移的第一步是确定正在使用的注册中心的类型。查看下面的图表来确定你应该使用的源和认证方法:
| 注册供应商 | 使用选项 | 身份验证方法 |
| 亚马逊 | ecr | AWS生成令牌 |
| 谷歌 | gcr | JSON密钥文件 |
| 码头(quay.io) | 码头 | OAuth2访问令牌 |
| 码头(企业内) | quayee | 超级用户名/密码或OAuth2访问令牌 |
| 其他(DTR, Artifactory等) | 通用的 | 匿名或用户名/密码 |
它是如何运作的
一旦知道了源和身份验证方法的类型,就可以进行迁移了。您可能会问自己,这个工具到底在做什么?该工具在可用的地方使用通用Docker REST api,在不可用的地方使用注册表提供的自定义api。该工具将使用您的凭证执行各种调用,并构建应该迁移的映像列表。一旦列表就位,它将调用各种工作人员同时下载映像并将其部署到指定的Artifactory存储库。该工具足够智能,只迁移它需要的内容,不会覆盖现有的映像(除非您告诉它这样做)。一旦该过程完成,它将生成一个报告,其中包含找到的图像数量和成功迁移的图像数量。
只迁移您需要的存储库
您需要确定要迁移的内容,是源注册表的全部内容还是只是一个子集。该工具的默认行为是搜索和迁移所有存储库的每个标记。您还可以选择提供存储库和/或存储库列表:标记组合.如果指定的存储库名称不带标记,则默认迁移该存储库的所有标记。在某些情况下,您不希望这样做,您只希望迁移特定的标记。在这些情况下,您所要做的就是指定一个repository:标签组合,并且只有那个特定的标签将被导入。
一些例子
GCR
$ python dockermigration .py gcr my-gcr-permissions. pyJson https://my-new.artifactory/artifactory admin密码docker-local
ECR
$ aws ecr get-login——no-include-email docker login -u aws -p eyh…h9 https://113776848705.dkr.ecr.us-west-2.amazonaws.com $ python dockermigration .py ecr https://113776848705.dkr.ecr.us-west-2.amazonaws.com eyh…H9 https://my-new.artifactory/artifactory admin密码docker-local
通用的(匿名的)图像文件
$ python DockerMigrator.py generic https://registry-1.docker.io https://my-new.artifactory/artifactory admin password docker-local——image-file image-file.txt
具有证书的通用型
$ python DockerMigrator.py generic https://registry-1.docker.io https://my-new.artifactory/artifactory admin password docker-local——source-username someuser——source-password somepassword
迁移权限数据
一些注册中心内置了用户、组和权限管理。为了帮助您轻松过渡,您可以使用附带的SecurityMigrator工具将这些映射到您的Artifactory实例。这是目前支持的码头企业版而且DTR.
关于如何使用这个工具以及它所提供的功能的所有细节和示例都可以在我们的公众中找到GitHub上的Docker2Artifactory项目.
访问我们的网站旧金山的DockerCon我们将于6月12日至14日在我们的展位G22学习如何将您的集装箱迁移到Artifactory。
