Docker Compose is a feature of Docker to orchestrate several software components using a declarative .yml file. Docker Compose is useful for development, as well as productive scenarios, whereas Docker Swarm is generally preferable for prod.

As of today, docker compose is part of the Docker engine. It used to be a plugin before. It cannot work independently and requires other dockerfiles or remote docker images to function.

Port forwarding

About ports during development

In case you ever encounter problems with docker-compose (e.g. network not reachable), try to expose the host from inside the dev script

With Vite, this problem was fixed by exchanging the standard dev script:

"scripts": {
  "dev": "vite --host 0.0.0.0"
},

Further reading

Official docs: Overview of Docker Compose