Docker-Compose lets you automate the deployment of multiple containers.Now that we have split open the web app into multiple containers, it makes little sense to keep them all on a single server (worse still on a single virtual machine!) With the container ‘revolution’ apps has grown much more than being just a database and a frontend. If you take a look at the Docker guides The default driver depends on how the Docker Engine you’re using is configured, but in most instances it is Kubernetes is supported natively across many cloud providers and it works quite well with Docker Containers so you don’t even have to rebuild your app to take advantage of Kubernetes.I hope that this rambling on Docker and its satellite projects was informative and you are more prepared for the docker ecosystem. The difference lies mostly in the backend, where docker-compose deploys container on a s… ?Or are all containers in the compose file connected to each other via some other mechanism (I think you must define networks explicitly unless you use Or are all containers in the compose file connected to each other via some other mechanism (other than networked) to be able to call processes in the other container and communicate?No, you must use networks. Docker Swarm - Native clustering for Docker. That will get tedious with even three containers. Setting it up or maintaining it not something you want to do, manually, so what you would do instead is install Docker and Docker-compose on your VPS, create a simple YAML file defining all the various aspects of your WordPress stack, like below, :Once the file is created and both Docker and Docker-compose are installed, all you have to do is run:And your site will be up and running. If so does docker-compose work with containers across different nodes in the swarm? If your microservice is written in a way that it can scale ‘horizontally’ then you can use Docker Swarm to deploy your web app across multiple data centers and multiple regions. If there’s an update, then run:Then throw away the old Docker images and run the docker-compose up -d command and new images will automatically be pulled in. Loosely speaking, it can still do most things that docker-compose can but it scales it across multiple Docker hosts.Both Docker Swarm and Docker-Compose have the following similarities:The few differences between Docker Swarm and Docker-Compose:As described above, they are both completely different tools and each solves a completely different problem so it is not like one is an alternative for the other. Since you have the persistent data stored in a Docker Volume, your website’s content won’t be lost.While Docker-compose is more of an automation tool, Docker Swarm is meant for more demanding applications. If your app is running across multiple servers and multiple data centers then chances of downtime due to an affected DC or network link gets significantly reduced.That said, I hesitate to recommend Docker Swarm for production use cases because competing technologies like Kubernetes are arguably more fitting for this task. A strong believer of the Unix philosophy. All my nodes will probably will use a cloud server anyway, so why not running all the containers on the same server?This is an old post but I was still looking for this exact question. Compose and Docker Compose are primarily classified as "MongoDB Hosting" and "Container" tools respectively. You define your application in a YAML file, this file will contain the image name, the configuration for each image and also the scale (number of replicas) that each microservice will be required to meet in deployment. Docker Compose - Define and run multi-container applications with Docker. Few of the things I am passionate about include system administration, computer hardware and physics.