docs/en/Community-Articles/2025-06-13-modular-docker-container-management/modular-docker-container-management.md
We're excited to announce a new improvement to Docker integration in ABP Studio! With the latest update, you can now manage Docker containers individually, add or remove them dynamically, and launch them either separately or collectively β all within the Studio.
In previous versions, Docker dependencies were handled using a single docker-compose.override.yml file, which was automatically generated when creating a new solution if it is needed.
By default, this file included common development dependencies like PostgreSQL, Redis, RabbitMQ, etc., and was executed through a predefined script named docker-dependencies in the Solution Runner.
While this approach worked well for simple setups, it had some limitations:
With the latest ABP Studio update:
docker-compose file.container_name for Docker Service MatchingWhen working with the new modular Docker system in ABP Studio, each service must define a container_name.
This name is used by ABP Studio to identify and map Docker containers to their corresponding service entries in the Studio UI.
container_name to:
container_name, container discovery may fail and service management features might not work as expected.services:
redis:
container_name: redis
image: redis:7
ports:
- "6379:6379"
networks:
- my-network
If you do not define
container_name, ABP Studio will be unable to track or control the service properly.
If you're using the old method with a centralized compose file:
Before:
docker-compose -f docker-compose.override.yml up -d
Now:
docker-compose files for each service
(e.g., docker-compose.postgres.yml, docker-compose.redis.yml).If your original
docker-compose.override.ymlcontains multiple services, you can split it into individual files β Docker Compose and ABP Studio both support modular composition.
If your containers need to communicate over a shared network, you can define an external network in each compose file like this:
networks:
my-network:
external: true
ABP Studio automatically creates the network if they do no exist. But if you like you can create the network once using:
docker network create my-network