如何从drone ci管道中的私有docker注册表中提取图像 问题 我需要在测试管道中使用来自私有docker映像注册表的映像 我找不到任何编辑:忽略了关于如何将私有docker注册表与一般的无人机或专门配置的存储库一起使用的最新文档。 情况

如何从drone ci管道中的私有docker注册表中提取图像 问题 我需要在测试管道中使用来自私有docker映像注册表的映像 我找不到任何编辑:忽略了关于如何将私有docker注册表与一般的无人机或专门配置的存储库一起使用的最新文档。 情况,docker,drone,drone.io,Docker,Drone,Drone.io,操作系统版本:ubuntu 18.04 lts 无人机版本:1.0.0 docker版本:18.09.4 docker compose版本:1.23.2 我亲自主持无人机ci,docker和docker组成一个大师,两个特工 管道配置示例: --- kind: pipeline name: integration steps: - name: tests image: private-registry.example.com/nodejs/special commands

操作系统版本:ubuntu 18.04 lts 无人机版本:1.0.0 docker版本:18.09.4 docker compose版本:1.23.2

我亲自主持无人机ci,docker和docker组成一个大师,两个特工

管道配置示例:

---

kind: pipeline
name: integration

steps:
  - name: tests
    image: private-registry.example.com/nodejs/special
    commands:
      - npm i
      - npm run test
    when:
      event:
        - push
        - pull_request
...
无人机文档 无人机的文档涉及在不提供链接的情况下配置专用注册表,或在图像部分提供如何实现此目的的更多详细信息,说明:

如果图像不存在,无人机会指示Docker将其拉出。如果映像是私有的,则需要配置注册表凭据

我发现op在文档中引用的问题已经不存在了

问题的作者和接受答案的作者都在使用drone cli使用registry命令向drone添加注册表。但不幸的是,该命令不再可用

当前的无人机cli使用消息如下所示:

NAME:
   drone - command line utility

USAGE:
   drone [global options] command [command options] [arguments...]

VERSION:
   1.0.7

COMMANDS:
     build      manage builds
     cron       manage cron jobs
     log        manage logs
     encrypt    encrypt a secret
     exec       execute a local build
     info       show information about the current user
     repo       manage repositories
     user       manage users
     secret     manage secrets
     server     manage servers
     queue      queue operations
     autoscale  manage autoscaling
     fmt        format the yaml file
     convert    convert legacy format
     lint       lint the yaml file
     sign       sign the yaml file
     jsonnet    generate .drone.yml from jsonnet
     script     generate .drone.yml from script
     plugins    plugin helper functions
     help, h    Shows a list of commands or help for one command

GLOBAL OPTIONS:
   -t value, --token value   server auth token [$DRONE_TOKEN]
   -s value, --server value  server address [$DRONE_SERVER]
   --autoscaler value        autoscaler address [$DRONE_AUTOSCALER]
   --help, -h                show help
   --version, -v             print the version
我发现了一个关于从2014年开始添加docker部分的链接。这一切似乎都分别转移到了和插件

问题 最后,有没有一种方法可以将私有docker注册表添加到drone中,以及如何做到这一点? 是否有文件提供了如何操作的详细信息? 解决方案 确实有专门针对私有docker映像注册表的

图像拉秘密 为了下载私有映像,您需要提供一个docker 注册表配置文件,它将身份验证凭据嵌入到 登记处

示例.docker/config.json文件:

{ 授权人:{ https://index.docker.io/v1/: { 认证:B2N0B2NHDDPJB3JYZWN0LWHVCNNLLWJHDHRLCNKTC3RHCG0XL } } } 文件的内容应作为机密存储,其中 机密在yaml的image_pull_secrets部分中引用

种类:管道 名称:默认值 类型:docker 步骤: -名称:build 图像:测试/测试图像 命令: -建造 -去测试 图像\u拉\u秘密: -dockerconfigjson 因此,我们要做的是执行docker登录,并将从~/.docker/config.json生成的凭证放入一个秘密中,在这个名为dockerconfigjson的示例中。

Solution 确实有专门针对私有docker映像注册表的

图像拉秘密 为了下载私有映像,您需要提供一个docker 注册表配置文件,它将身份验证凭据嵌入到 登记处

示例.docker/config.json文件:

{ 授权人:{ https://index.docker.io/v1/: { 认证:B2N0B2NHDDPJB3JYZWN0LWHVCNNLLWJHDHRLCNKTC3RHCG0XL } } } 文件的内容应作为机密存储,其中 机密在yaml的image_pull_secrets部分中引用

种类:管道 名称:默认值 类型:docker 步骤: -名称:build 图像:测试/测试图像 命令: -建造 -去测试 图像\u拉\u秘密: -dockerconfigjson
因此,我们要做的是执行docker登录,并将从~/.docker/config.json生成的凭证放入一个秘密中,在这个名为dockerconfigjson的示例中。

下面是AWS ECR的完整工作流。 假定

您的aws CLI安装正常 您的drone CLI安装正常 为您的注册表获取令牌:aws ecr获取登录密码-区域

将令牌添加到无人机CI中的组织:无人机orgsecret添加我的拉动秘密

将以下内容添加到.drone.yml中:

图像\u拉\u秘密: -我的秘密
对于谷歌云来说,秘密不能是一个令牌,而是一个JSON文件。

这里有一个完整的工作流程AWS ECR。 假定

您的aws CLI安装正常 您的drone CLI安装正常 为您的注册表获取令牌:aws ecr获取登录密码-区域

将令牌添加到无人机CI中的组织:无人机orgsecret添加我的拉动秘密

将以下内容添加到.drone.yml中:

图像\u拉\u秘密: -我的秘密 对于谷歌云,秘密不能是一个令牌,而是一个JSON文件。

更新的文档链接:下一个文档链接更新:更新的文档链接:下一个文档链接更新: