Set Up Docker Container Configurations for an Application Release
An application release must contain at least one component (Containers/Containers Advanced) or a compose configuration file (Compose). Although it is possible to submit a Docker application release without at least one component (Containers/Containers Advanced) or a compose configuration file (Compose), the Docker application release cannot be later deployed to a Litmus Edge instance.
The component or the compose configuration file sets up a configuration to extract at least one Docker image from a Docker repository to execute the Docker image's respective Docker container. This allows the Docker application release to package multiple Docker images (and the respective Docker containers) and deliver them to Litmus Edge instances concurrently. It is these Docker images from the component/compose configuration file that will be later deployed as Docker images to Litmus Edge instances during Deploy an Application to Edge Devices.
See the following on how to add/manage components for the Containers tab.
[1] Show filter / Hide filter: Search by Name, Image.
[2] Add Component: You can add multiple components. You can't add variables for a submitted application release.
[3] Action menu:
- Edit: You can't edit components for a submitted application release.
- Remove: You can't delete components for a submitted application release.
When adding a new component, a Docker image must be extracted from a Docker registry. The other available customizations enable additional configurations when executing the Docker container from the extracted Docker image.
Furthermore, when customizing the Docker image configurations, it is also possible to use the variables created from Set Up Variables for an Application Release as values. The syntax for referring to these variables is ${VARIABLE_NAME} where VARIABLE_NAME is the name of the variable being used.
In this section, you will set up the initial configuration needed for a Docker image’s respective Docker container.
- Repository: The available registry provider of the Docker image. See Registry Management and Docker Registry for details.
- Image: The Docker image registry location for a Docker pull command. See Pull From a Different Registry for details. The image registry location must be both a valid registry location and accessible by Litmus Edge instances.
- Restart: The restart policy for the equivalent Docker container. See Use a Restart Policy for details.
- Network Mode: The network settings for the equivalent Docker container. See Network Settings for details.
- Command: The command-line arguments used by the Docker container’s application when it executes.
In this section, you can set up the environment variables that the Docker container will use during its operation. See Environment Variables for details.
In this section you can set up metadata to the Docker container. See Set Metadata on Container for details.
In this section, you can set up the port management for the Docker container. See Ports for details.
In this section, you can set up the data persistence mechanism for the Docker container. See Use volumes or Use bind mounts for details.
This option is an upgraded version of Option 1 Containers: Set Up a Component. See the following on how to add/manage components for the Containers Advanced tab.
[1] Show filter / Hide filter: Search by Name, Image
[2] Add Component: You can add multiple components. You can not add variables for a submitted application release.
[3] Action menu:
- Edit: You can't edit components on a submitted application release.
- Remove: You can't remove components on a submitted application release.
In Option 1 Containers: Set Up a Component, there are five steps where you may enter details for a pre-determined set of basic Docker parameters. The limitation of the previous option is that it is not possible to access and configure the remaining more advanced Docker parameters.
When adding a new component, this second option offers a .json configuration form to access and configure the remaining advanced Docker parameters. The form will be used to request a Docker image from a selected Docker registry.
The first step is a simplified version of the Step 1: Set Up Common Parameters section from the previous option.
- Repository: The available registry provider of the Docker image. See Registry Management and Docker Registry for details.
The second step allows you to create a Docker container by entering file contents for a Docker container configuration .json file. See Create a container for details.
Furthermore, when customizing the .json file, it is also possible to use the variables created from Set Up Variables for an Application Release as values. The syntax for referring to these variables is ${VARIABLE_NAME} where VARIABLE_NAME is the name of the variable being used.
[1] Import Component Config
[2] Copy Config Content
[3] Paste Config Content
[4] Clear Config Content
[5] Link to API specifications for Creating a container
[6] Enter Config Content
This option is an even more upgraded version of the previous two options in the form of an alternative Compose subsection. Rather than creating a component one by one like the previous two options, you are able to set up multiple components all at once by entering a YAML Compose file to set up a multi-container application configuration. See Compose specifications for details.
Furthermore, when customizing the YAML file, it is also possible to use the variables created from Set Up Variables for an Application Release as values. The syntax for referring to these variables is ${VARIABLE_NAME} where VARIABLE_NAME is the name of the variable being used.
[1] Import Compose File
[2] Copy Compose File
[3] Paste Compose File
[4] Clear Compose File
[5] Link to Compose File format in Compose specifications
[6] Compose File Contents
[7] View Supported Compose Objects
When you click Supported Compose Objects, a list of all the supported objects displays from the right.
When you attempt to Save a YAML Compose file with unsupported compose objects, an error such as the following appears. It will indicate all the invalid fields.