Connection Configuration
The following properties are common to all Docker node operations and define how BizFirst connects to the Docker daemon.
| Property | Type | Required | Description |
DockerHost |
string |
Optional |
Address of the Docker daemon. Default: unix:///var/run/docker.sock. For TCP use tcp://hostname:2375; for TLS use tcp://hostname:2376. |
ConnectionType |
enum |
Optional |
How to connect to the daemon. Values: UnixSocket (default) | Tcp | TcpTls. Use TcpTls for secure remote connections. |
TlsCertPath |
string? |
Optional |
Path to the directory containing TLS certificates (ca.pem, cert.pem, key.pem). Required when ConnectionType is TcpTls. |
TimeoutSeconds |
int? |
Optional |
Maximum time in seconds to wait for a Docker API response. Applies to all operations. Recommended to increase for image/pull on large images. |
ConnectionType enum — DockerConnectionType: The enum values are UnixSocket, Tcp, and TcpTls. UnixSocket is the default and requires the BizFirst workflow runner to have read/write access to the Docker socket file. TcpTls requires a certificate directory set in TlsCertPath.
Resource: container
10 operations for full container lifecycle management.
container/list
| Property | Type | Required | Description |
All | bool | Optional | When true (default), returns all containers including stopped. When false, returns only running containers. |
Returns: Array of container summary objects.
container/inspect
| Property | Type | Required | Description |
ContainerId | string | Required | The container ID or name to inspect. |
Returns: Full container inspect object including state, network settings, mounts, and config.
container/create
| Property | Type | Required | Description |
Image | string | Required | Image name and tag to create the container from (e.g. nginx:latest, myrepo/myapp:1.2.3). |
Name | string | Optional | A human-readable name for the container. Must be unique. Docker auto-generates a name if omitted. |
Command | string | Optional | Override the default command defined in the image. Passed as a string (space-separated) or JSON array. |
Env | string | Optional | Environment variables as a newline- or comma-separated KEY=VALUE list, or a JSON array of strings. |
PortBindings | string | Optional | Port mapping JSON. Example: {"80/tcp":[{"HostPort":"8080"}]}. Maps container port to host port. |
Volumes | string | Optional | Volume mounts JSON. Example: {"/data":{}} or a bind-mount specification array. |
Returns: Container ID, name, status, and warnings array.
container/start
| Property | Type | Required | Description |
ContainerId | string | Required | ID or name of the stopped container to start. |
container/stop
| Property | Type | Required | Description |
ContainerId | string | Required | ID or name of the running container to stop. |
Timeout | int | Optional | Seconds to wait for the container to stop gracefully before sending SIGKILL. Default is 10 seconds. |
container/restart
| Property | Type | Required | Description |
ContainerId | string | Required | ID or name of the container to restart. |
Timeout | int | Optional | Seconds to wait for graceful stop before forcing a restart. Default is 10 seconds. |
container/remove
| Property | Type | Required | Description |
ContainerId | string | Required | ID or name of the container to remove. |
Force | bool | Optional | When true, forcibly removes a running container (equivalent to docker rm -f). Default: false. |
RemoveVolumes | bool | Optional | When true, also removes anonymous volumes associated with the container. Default: false. |
container/logs
| Property | Type | Required | Description |
ContainerId | string | Required | ID or name of the container whose logs to retrieve. |
Tail | int | Optional | Number of lines to return from the end of the log. Omit to return all available logs. |
Timestamps | bool | Optional | When true, each log line is prefixed with the Docker timestamp. Default: false. |
Returns: Combined stdout and stderr log content as a string, plus line count.
container/exec
| Property | Type | Required | Description |
ContainerId | string | Required | ID or name of the running container in which to execute the command. |
Command | string | Required | The command to execute inside the container. Passed as a shell string (e.g. python manage.py migrate). |
Privileged | bool | Optional | Run the exec command with elevated privileges. Default: false. Use with caution in production. |
Returns: Exit code, stdout, and stderr captured from the command execution.
container/stats
| Property | Type | Required | Description |
ContainerId | string | Required | ID or name of the container to collect stats from. |
Stream | bool | Optional | When false (recommended for workflow use), returns a single snapshot. When true, streams until timeout. |
Returns: CPU percentage, memory usage/limit in MB, and network Rx/Tx in MB.
Resource: image
5 operations for image management.
image/list
| Property | Type | Required | Description |
All | bool | Optional | When true, includes intermediate (dangling) images in the result. Default: false. |
Returns: Array of image summary objects.
image/inspect
| Property | Type | Required | Description |
ImageId | string | Required | The image ID or full name (repo:tag) to inspect. |
Returns: Full image details including layers, config, architecture, and OS.
image/pull
| Property | Type | Required | Description |
Image | string | Required | The image to pull in repository:tag format (e.g. nginx:1.25, myregistry.io/app:v2.1.0). |
Tag | string | Optional | Override the tag component. Default: latest. If Image already includes a tag, this field is ignored. |
Returns: Image name, resolved tag, digest, and size in bytes.
image/remove
| Property | Type | Required | Description |
ImageId | string | Required | The image ID or name (repo:tag) to remove from local storage. |
Force | bool | Optional | Force removal even if a container is using the image. Default: false. |
PruneChildren | bool | Optional | Remove untagged parent images that become dangling after this removal. Default: false. |
image/tag
| Property | Type | Required | Description |
SourceImageId | string | Required | The source image ID or name (repo:tag) to apply a new tag to. |
TargetRepository | string | Required | The target repository name (e.g. myregistry.io/myapp). |
TargetTag | string | Required | The tag to apply to the target repository (e.g. v2.1.0, stable). |
Resource: volume
4 operations for volume management.
volume/list
| Property | Type | Required | Description |
Filters | string | Optional | JSON filter string to scope results (e.g. {"driver":["local"]}). Follows the Docker API filter format. |
Returns: Array of volume objects.
volume/create
| Property | Type | Required | Description |
Name | string | Optional | Name for the volume. If omitted, Docker generates a unique name automatically. |
Driver | string | Optional | Volume driver to use (e.g. local, nfs, or a third-party driver). Default: local. |
LabelsJson | string | Optional | JSON object of key-value label pairs to attach to the volume (e.g. {"env":"production","owner":"ops"}). |
volume/inspect
| Property | Type | Required | Description |
VolumeId | string | Required | The name or ID of the volume to inspect. |
volume/remove
| Property | Type | Required | Description |
VolumeId | string | Required | The name or ID of the volume to remove. |
Force | bool | Optional | Force removal even if the volume is in use. Default: false. |
Resource: network
6 operations for network management.
network/list
| Property | Type | Required | Description |
Filters | string | Optional | JSON filter string to scope results (e.g. {"driver":["bridge"]}). |
Returns: Array of network objects.
network/create
| Property | Type | Required | Description |
Name | string | Required | Unique name for the new network. |
Driver | string | Optional | Network driver. One of: bridge (default), overlay, host, none. |
Internal | bool | Optional | When true, creates an internal network with no external connectivity. Containers on this network cannot reach the internet. Default: false. |
LabelsJson | string | Optional | JSON object of key-value label pairs to attach to the network. |
network/inspect
| Property | Type | Required | Description |
NetworkId | string | Required | The network ID or name to inspect. |
Returns: Full network details including IPAM config and connected containers.
network/connect
| Property | Type | Required | Description |
NetworkId | string | Required | ID or name of the network to connect the container to. |
ContainerId | string | Required | ID or name of the container to connect to the network. |
Aliases | string | Optional | Comma-separated list of DNS aliases for the container on this network (e.g. api,backend). |
network/disconnect
| Property | Type | Required | Description |
NetworkId | string | Required | ID or name of the network. |
ContainerId | string | Required | ID or name of the container to disconnect. |
Force | bool | Optional | Force disconnect even if the container is running. Default: false. |
network/remove
| Property | Type | Required | Description |
NetworkId | string | Required | The ID or name of the network to remove. The network must have no active endpoints. |
Resource: system
3 operations for Docker daemon queries. None require additional input properties.
system/info
No input properties required. Returns Docker daemon info: version, OS type, architecture, CPU count, total memory, and storage driver.
system/version
No input properties required. Returns detailed Docker engine version information including API version, build date, and Go version.
system/ping
No input properties required. Pings the Docker daemon. Returns the string "OK" on the success port if the daemon is reachable. Use as a connectivity pre-check before long-running operations.
Remote daemon security: When using ConnectionType: TcpTls, ensure TlsCertPath points to a directory containing valid mutual TLS certificates. Never expose the Docker daemon TCP port without TLS in a production or internet-facing environment.