如何在 circleci 作业中执行“docker run”命令

Posted

技术标签:

【中文标题】如何在 circleci 作业中执行“docker run”命令【英文标题】:How to execute a "docker run" command in circleci job 【发布时间】:2021-11-14 03:11:06 【问题描述】:

我需要添加一个 circleCI 作业,在拉取一个 docker 映像 (abc) 后,我需要在由 image abc 创建的容器上执行“docker run”命令来完成作业。

circleci_job:
    docker:
      - image: xyz.ecr.us-west-2.amazonaws.com/abc
    steps:
      - checkout
      - run:
          name: execute docker run command
          command: |
            export env1=https://example.com
            docker run abc --some command

我遇到以下错误:

/bin/bash: line 1: docker: command not found

我想知道我是否使用了错误的执行器类型?或者我在这里遗漏了什么?

【问题讨论】:

【参考方案1】:

我在这里看到两个问题。

    您需要使用已安装 Docker 客户端的映像,或者您需要在工作中即时安装它。现在看来,xyz.ecr.us-west-2.amazonaws.com/abc 镜像没有安装 Docker 客户端。 使用 Docker 执行程序,为了让 Docker 命令(如 docker rundocker pull)正常工作,您需要在尝试使用 Docker 之前运行特殊的 CircleCI 步骤 - setup_remote_docker

【讨论】:

以上是关于如何在 circleci 作业中执行“docker run”命令的主要内容,如果未能解决你的问题,请参考以下文章

仅当同一仓库中的文件添加了新条目时,如何在 github 仓库中运行 CircleCI 作业?

CircleCI:构建 Meteor 2.2 docker 应用程序 - 失败

如何在私有 docker 镜像中运行脚本

Docker:尝试使用本地 CircleCI 构建连接到 Docker 守护程序时权限被拒绝

如何只在 GitHub 主分支上运行 CircleCI?

Circle Ci:第二份工作从未开始过?