如何在 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”命令的主要内容,如果未能解决你的问题,请参考以下文章

windows docker容器中编译matlab失败

如何在 docker 容器中运行 cron 作业

如何覆盖 AWS Batch 作业中的 docker 映像?

如何将存储库中的文件复制到用于作业的 Docker 容器中,在 gitlab-ci.yml

如何启用从 Docker 容器内部启动的 Spark-Mesos 作业?

在我将 cron 文件重新保存在 docker 容器中之前,Cron 作业不起作用