در سیستم های multi-tier و microservice ها در موارد متعددی عملکرد صحیح و گاها اجرای یک سرویس به بالا بودن سرویس دیگری بستگی دارد. فرض کنید یک برنامه ی فرانت اند(react)، یک برنامه ی بک اند (django)و یک دیتابیس ( PostgreSQL )داریم. برنامه ی بک اند نیازمند فعال بودن دیتابیس برای درست اجرا شدن و عمل کردن است و برنامه ی فرانت اند هم برای عملکرد درست به برنامه ی بک اند نیاز دارد. در فایل docker-compose.yaml باید برای مشخص کردن این نیاز و ترتیب از دستور depends_on استفاده کنیم.

version: '3'

services:
  database:
    image: postgres

  backend:
    image: my_djago_app
    depends_on:
    - 'database'

  frontend:
    image: my_react_app
    depends_on:
    - 'backend'

ترتیب اجرای کانتینرهای تعریف شده در docker-compose.yaml بالا را در تصویر زیر میبینید: