Running Multiple Services Inside a Single Container using Supervisord

In this blog, I am going to explain how to run multiple services inside a single container and how to effectively use Docker compose and persistent volume in a local development environment — using Supervisord and Docker compose. A container is a light-weight platform for running applications along with its dependencies in an isolated environment. It is good to run a single service inside a container.

Though we can access the different services hosted in different containers using a container network, we can get the same benefits by running multiple services in a single container. There are some situations where we need to run more than one service inside a container and it should be accessible from the container host or network. For example, apache/nginx http   server along with an FTP server or some microservices that are running inside the same container with different processes.