Docker Tool
Run Docker containers as job steps with full lifecycle management.
Tool ID
docker-run
Credential Required
No — uses Docker CLI on the server PATH.
Operations
1. run — Run a container
Pulls (if needed), runs a container, captures output, and evaluates exit code.
| Property | Type | Default | Description |
|---|---|---|---|
image |
string | — | Required. Docker image (e.g., python:3.11, myregistry/myapp:latest) |
command |
string | — | Command to run inside the container |
envVars |
object | {} |
Environment variables: {"KEY": "value"} |
volumes |
object | {} |
Volume mounts: {"/host/path": "/container/path"} |
workingDir |
string | — | Working directory inside the container |
autoRemove |
boolean | true |
Remove container after exit |
pullPolicy |
string | ifNotPresent |
Pull policy: always, ifNotPresent, never |
containerName |
string | — | Name for the container |
networkMode |
string | — | Network mode: host, bridge, or network name |
timeoutSeconds |
integer | 3600 |
Max execution time (0 = unlimited) |
successCodes |
string | "0" |
Comma-separated exit codes that mean success |
host |
string | unix:///var/run/docker.sock |
Docker daemon host |
tlsEnabled |
boolean | false |
Use TLS for Docker daemon |
tlsCertPath |
string | — | Path to TLS certificates directory |
Published Outputs:
- exitCode — container exit code
- output — full stdout
- image — image used
- Any properties set via ##intouch[set name=X value=Y] markers in container stdout
2. pull — Pull an image
| Property | Type | Default | Description |
|---|---|---|---|
image |
string | — | Required. Image to pull |
Published: exitCode, output, image
3. inspect — Check if image exists
| Property | Type | Default | Description |
|---|---|---|---|
image |
string | — | Required. Image to inspect |
Published: exists ("true"/"false"), image, inspect (JSON metadata if exists)
Killable
Yes — destroys process and runs docker kill on named containers.
Property Markers
Container scripts can publish values back to InTouch by printing:
##intouch[set name=myVar value=myValue]
Remote Docker Daemon
Set host to connect to a remote Docker daemon (e.g., tcp://remote-host:2376). Enable tlsEnabled and provide tlsCertPath for secure connections. TLS expects ca.pem, cert.pem, key.pem in the cert directory.
Chaining Patterns
- Docker run → SQL import — run a data processing container, import its output
- Docker run → Email — run a report container, email results
- Git pull → Docker run — pull latest code, build and run in container
- Docker inspect → Docker run — check image exists before running
Prerequisites
docker-runCLI must be on the server PATH- Docker daemon must be running
- User running InTouch must have Docker permissions
Publishes
The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.
existsexitCodeimageinspectoutput