Introduction
A Docker Compose application runs as a compose stack inside the Compose Runtime on a node. You deploy it the same way as any other edge app: as an application instance from Infrastructure > Workloads > Applications. Edge Infrastructure Services attaches the new instance to the Compose Runtime instance on the target node and delivers the Compose definition to the Compose App Instance Control agent, which brings up the services. This page covers the settings that are specific to Docker Compose type apps. For the full wizard, see Deploy an Application Instance.Prerequisites
- EVE-OS (Edge Virtualization Engine) 14.5.0 or greater on the target node.
- You have the SysManager or SysAdmin role in your enterprise. See Manage Roles.
- A Compose Runtime application instance is deployed and Online on the target node. See Deploy the Compose Runtime Application. Edge Infrastructure Services refuses to create a Docker Compose application instance on a node that has no Compose Runtime instance.
- A Docker Compose type edge app in My Library. See Create a New Edge Application. If the app uses a TAR image, the image and its datastore must be in the Ready state.
- The node can reach the container registry datastores that hold the images referenced in the Compose file.
Deploy the Docker Compose Application
- In the sidebar, select Infrastructure > Workloads > Applications.
- Select the contextual + create action. The application instance wizard opens.
- In the General step, enter a Name and Title for the instance, and optionally a Description and Tags. Select Next.
- In the Deployment Target step, select the node that runs the Compose Runtime in Cluster/Nodes.
- In Edge App, select your Docker Compose type edge app.
- Optionally, expand Additional Configuration to set a Start Delay or turn off Enable Logs. The VM Options (vTPM, VMM Overhead) are not shown for Docker Compose type apps, because the stack runs inside the Compose Runtime rather than in its own virtual machine.
- Select Next.
- If the edge app defines a custom configuration, the Custom Config step appears. Enter a value for each variable. Required variables are marked with an asterisk. These values are available to the compose stack as variables when the agent runs the Compose file. Select Next.
- In the Review step, confirm the name, edge app, and target node, and select Create Application.
Verify the Deployment
- Wait for the background-tasks tray card to report Cloud operation completed. If it reports a failure, open the job from the card to review the error.
- On the App Instances list, locate the instance. Its Run State moves through the transitional states and settles on Online when the agent reports that the compose stack is up. See Application Instance Status and Health.
- Open the instance detail page. The Logs tab shows the output that the Compose App Instance Control agent forwards from the stack’s containers.
Control the Running Stack
Use the Actions menu on the instance detail page. The Compose App Instance Control agent translates each action into a Docker Compose command:
The Attach patch envelope action is not available for Docker Compose application instances. The Compose file and registry credentials are delivered through the Compose Runtime instead. See Docker Compose Overview.
For the full description of each action, see Manage an Application Instance.
Next Steps
This article is part of the Docker Compose setup series.- Docker Compose Overview: background on the architecture and deployment model.
- Add a Compose Runtime Image: add the Compose Runtime image and create the Edge App bundle with network interfaces.
- Deploy the Compose Runtime Application: deploy the Compose Runtime as an application instance on your node.
- Attach an Existing ZFS Pool to the Compose Runtime: ZFS variant only. Configure the pool import and dataset discovery.
- Compose App Instance Control Overview: how the Compose Runtime manages Docker Compose application lifecycles.
- Add a Docker Compose Image: create the Docker Compose app image that runs inside the Compose Runtime.
- Deploy a Docker Compose Application (you are here).
- Troubleshoot Docker Compose: diagnose issues with the Compose Runtime or Docker Compose application instances.