Run Docker container

POST Parameters

NameTypeDescription
name
Required
StringThe name of the action.
type
Required
StringThe type of the action. Should be set to RUN_DOCKER_CONTAINER.
docker_image_name
Required
StringThe name of the Docker image.
docker_image_tag
Required
StringThe tag of the Docker image.
inline_commands
Required
StringThe commands that will be executed.
run_as_userStringAll build commands are run as the default user defined in the selected Docker image. Can be set to another username (on the condition that this user exists in the selected image).
mount_filesystem_disableBooleanDefines whether or not to mount the filesystem to the running container.
volume_mappingsString[]The path preceding the colon is the filesystem path (the folder from the filesystem to be mounted in the container). The path after the colon is the container path (the path in the container, where this filesystem will be located).
loginStringThe username required to connect to a private registry.
passwordStringThe password required to connect to a private registry.
registryStringThe url to the Docker registry or GCR. Required for Google GCR.
export_container_pathStringDefines the export path of the container’s filesystem as a tar archive.
integrationIntegrationThe integration. Required for using the image from the Amazon ECR, Google GCR and Docker Hub.
regionStringThe name of the Amazon S3 region. Required for using the image from the Amazon ECR. The full list of regions is available here.
use_image_from_actionBooleanIf set to true the Docker image will be taken from action defined by docker_build_action_id.
docker_build_action_idIntegerThe ID of the action which built the desired Docker image. If set to 0, the image will be taken from previous pipeline action. Can be used instead of docker_build_action_name.
docker_build_action_nameStringThe name of the action which built the desired Docker image. Can be used instead of docker_build_action_id.
entrypointStringDefault command to execute at runtime. Overwrites the default entrypoint set by the image.

Example

Request

POST https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions

JSON

{
  "name": "Run container",
  "type": "RUN_DOCKER_CONTAINER",
  "trigger_time": "ON_EVERY_EXECUTION",
  "docker_image_name": "library/ubuntu",
  "docker_image_tag": "latest",
  "variables": [
   {
      "key": "containerUser",
      "value": "notRoot"
   }
  ],
  "run_as_user": "$containerUser",
  "inline_commands": "ls -al > ls.log",
  "mount_filesystem_disable": false,
  "export_container_path": "/exportPath",
  "entrypoint": "/bin/sh",
  "volume_mappings":
    "/:/buddy/mount/directory",
}

Sample Response

HTTP

Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999

JSON

{
  "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2/actions/2",
  "html_url": "https://app.buddy.works/buddy/company-website/pipelines/action/2/edit",
  "id": 2,
  "name": "Run container",
  "type": "RUN_DOCKER_CONTAINER",
  "trigger_time": "ON_EVERY_EXECUTION",
  "last_execution_status": "INITIAL",
  "docker_image_name": "library/ubuntu",
  "docker_image_tag": "latest",
  "variables": [
   {
      "key": "containerUser",
      "value": "notRoot"
   }
  ],
  "run_as_user": "$containerUser",
  "inline_commands": "ls -al > ls.log",
  "mount_filesystem_disable": false,
  "volume_mappings":
    "/:/buddy/mount/directory",
  "export_container_path": "/exportPath",
  "entrypoint": "/bin/sh",
  "pipeline": {
    "url": "https://api.buddy.works/workspaces/buddy/projects/company-website/pipelines/2",
    "html_url": "https://app.buddy.works/buddy/company-website/pipelines/pipeline/2",
    "id": 2,
    "name": "Live mirror",
    "on": "CLICK",
    "refs": [
      "refs/heads/master"
    ],
    "last_execution_status": "SUCCESSFUL",
    "last_execution_revision": "506a3963507943d6908154f4bc9646e829128a08"
  }
}

Last modified on November 16, 2022

Questions?

Not sure how to configure a pipeline for your process? Reach out on the live-chat or contact support

Get Started

Sign up for free and deploy your project in less than 10 minutes.