Docker Service nodes create a service by running Docker containers on a pool of compute resources provided by a Docker Cluster. This is in contrast to Docker Task nodes that run tasks using ephemeral, non-dedicated server instances.
Services support mapping exposed Docker container network ports to external resources. These ports may also be the targets of Load Balancer Nodes to provide high-throughput and high-availability services.
Services can also be executed as tasks by invoking the ECS RunTask action using a taskDefinitionArn value. For example, a Docker service could transcode a video file from one Object Store into multiple different formats that are then uploaded to another Object Store. The taskDefinitionArn value can be specified in either the
STACKERY_PORTS environment variable when a Function node output port is connected to a Docker Task input port, or by referencing the taskDefinitionArn property value in a Function’s environment variables.
Docker images can be pulled from both public and private registries. When pulling from private registries, registry credentials must be provided in the Docker Cluster Registry Credentials setting.
A label used for the node in the canvas.
The repository and optional tag of the Docker image to run. Examples:
The number of compute units to reserve from the Docker Cluster for each instance of the service running on the cluster. One CPU is equivalent to 1,024 compute units.
The amount of memory, in MB, to reserve from the Docker Cluster for each instance of the service running on the cluster.
An optional port to expose from the Docker container. The port will be exposed through a random available external port on the Docker Cluster instance that the Docker Service instance is running on. Connected Load Balancer Nodes will automatically target the port specified here.
Health Check Path
When a Load Balancer is attached to the Docker Service, this property specifies the HTTP request path used to monitor the health of the service.
The minimum number of Docker Service instances to keep running regardless of compute utilization.
The maximum number of Docker Service instances to run regardless of compute utilization.
Compute Scale In
The percentage threshold for utilization of Compute Units below which the number of Docker Service instances will be decreased.
Compute Scale Out
The percentage threshold for utilization of Compute Units above which the number of Docker Service instances will be increased.
When scaling in or out, how much to increase or decrease the number of Docker Service instances in the cluster by.
A list of environment variable values provided to the Docker Service instances.
Stackery Port Data
When connecting a wire between the output of a Function node to the input of a Docker Service node, the
STACKERY_PORTS environment variable for the Function node will contain the following information in JSON form:
|type||string||The type of the connected resource. Always set to
|id||string||The Stackery Docker Service node’s ID. Example:
|name||string||The Stackery Docker Service node’s name. Example:
|clusterName||string||The name of the AWS ECS Cluster the Docker Service runs on. Example:
|taskDefinitionArn||string||The AWS ARN of the Docker Service Task Definition. Example:
See Function Output Port Connections for more details on the
STACKERY_PORTS environment variable.
|id||Cloud Service Identifier||
|taskDefinitionArn||Docker Task Definition Cloud Service Identifier||