Running docker compose up
gives docker: 'compose' is not a docker command.
But docker-compose up
works just fine.
What gives? I thought compose was supposed to be part of the docker cli now.
How can I run docker compose up
and get the same/similar behavior as docker-compose up
?
docker --version
-> Docker version 20.10.10, build b485636f4b
docker-compose --version
-> Docker Compose version 2.1.1
CodePudding user response:
Docker (in the cli is docker
) and Docker Compose (on the cli is docker-compose
) are different things.
Docker is the engine where the containers run
Docker-compose is a manager or orchestrator for those containers
This means that you cannot do docker compose
, the correct command is docker-compose
I think you're confused on the commands
the way to start a container using docker
(only 1 container) is
docker run -ti ubuntu bash
On the other hand you can do the same with Docker compose but you need a docker-compose.yml
file where all the configuration is written, then to start it is
docker-compose up
To sum up
Docker and docker compose are 2 different things. You can find more info here What is the difference between docker and docker-compose
CodePudding user response:
It's because I had docker installed not through docker desktop.
I was using a minikube for my docker daemon, and the basic docker cli. But the basic cli (installed through brew install docker
) doesn't have docker compose
, that's part of docker desktop.
You can find the rest of that info here: