Skip to content

Compose

The compose feature is based on Docker Compose, used to define and run multi-container applications. Describe the application's services, networks, and volumes through a YAML file, then start the entire application with one click.

Compose List

Go to Container > Compose tab to view the compose list.

Compose List

The list displays the following information:

  • Name: Compose project name
  • Directory: Directory where docker-compose.yml file is located
  • Status: Running status
  • Created Time: Creation time
  • Actions: Start, stop, edit, etc.

Create Compose

  1. Click the Create Compose button
  2. Enter compose name
  3. Write or paste docker-compose.yml content
  4. Configure environment variables (optional)
  5. Click Create

Create Compose

docker-compose.yml Example

yaml
version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
    depends_on:
      - app
  app:
    image: php:8.4-fpm
    volumes:
      - ./html:/var/www/html
  db:
    image: mysql:8.4
    environment:
      MYSQL_ROOT_PASSWORD: your_password
      MYSQL_DATABASE: myapp
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:

Compose Operations

Start Compose

Click the Start button and a confirmation dialog will pop up:

Start Compose

  • Force Pull Images: When checked, will pull the latest images before starting

After clicking confirm, the startup progress will be displayed:

Startup Progress

Starting compose will create and start all defined service containers.

Stop Compose

Stopping compose will stop all related containers, but will not delete containers and data.

Delete Compose

Deleting compose will stop and delete all related containers.

Note

Deleting compose will not delete data volumes. To delete data volumes, please manually delete them on the Volume page.

Edit Compose

Click the Edit button in the compose list to modify the docker-compose.yml file content and environment variables.

Edit Compose

After modification, you need to restart the compose for changes to take effect.

Use Cases

Compose is suitable for the following scenarios:

  • Multi-container Applications: Such as Web application + database + cache
  • Development Environment: Quickly set up a consistent development environment
  • Microservices Architecture: Manage multiple interdependent services

Difference from Container Templates

FeatureComposeContainer Templates
Configuration MethodWrite YAML manuallyGraphical interface
FlexibilityFully customizableUse preset configuration + customization
Use CasesCustom complex applicationsQuick deployment of common applications
Learning CostNeed to understand Compose syntaxNo learning required