Docker Compose missing from Docker Desktop?

I feel like I’ve given this disclosure a thousand times over the last couple weeks as I try to get all the kinks worked out of self-hosting and whatnot, but I’m new to all this and I’m not sure where I’ve gone.

I downloaded Docker Desktop, and I have Jellyfin and Nginx running in containers. That’s all that’s there, and if you had asked me a week ago when I installed them, I would have looked you in the eye and sworn I downloaded those through docker compose. I have docker-compose files for them and I’m pretty sure I used ‘docker-compose’ as a command with the hyphen in their installation. But.

When I try to install something new through compose or type in ‘docker compose version,’ it says that ‘compose’ isn’t a command. Whether or not I include the hyphen doesn’t seem to make a difference. Someone advised me that it sounded like I didn’t have compose installed, but I don’t understand how that’s possible when it installs with Docker Desktop?

Something that maybe could be the problem is that my Docker Desktop says that there’s a new version available to install. I can download it, and it shuts down my app, but then it never restarts itself again. When I open the app manually, Docker Desktop still has the update available like I didn’t do anything at all with it.

So this may be two separate questions, or maybe compose isn’t working because of the lack of update? But if not, what am I doing wrong? How is compose gone? Why won’t my docker restart? Any ideas?

You probably have a broken installation so the docker cli plugins are not available from the command line even if everything is on the filesystem. If the installation is already broken, that can cause the update to fail as well.

Run

docker info

You will see the “Plugins” section at the beginning. Look for docker-compose.exe and try to run it directly. For exmple from a poweer shell:

C:\"Program Files"\Docker\cli-plugins\docker-compose.exe version

If it works, then compose is installed, but it should also be here:

C:\"Program Files"\Docker\Docker\resources\bin\docker-compose.exe version

That should be in the PATH environment variable too. I mean the parent folder. You can check it from powershell too

$env:path

If it is missing, you probably have to add back. If it doesn’t help, the problem could be more serious and you might need to uninstall Docker Desktop completely and install it again. I don’t know what could have gone wrong. It never happened to me, but I’m a macOS and Linux guy, so I don’t user Windows frequently.

2 Likes

So I do think it’s missing, the plugins section is empty.

Oh my god, I found out how to download it separately through windows and did a lot of trial and error and it WORKS. You’re my favorite, my guy. Thank you so much!!

I feel insane. I had it working on April 5, but now I went to install a new container and it’s acting like compose doesn’t exist again. It is in fact in the parent folder mentioned above, but when I run docker info, there is nothing next to
Plugins:
It’s just blank. When I try to run my yml docker compose files, it once again says that compose isn’t a docker function.

Someone please take mercy on me. I have no idea how I fixed it before or what went wrong. It may be worth noting as well that my docker says there’s a new version available. I download it, but then it says it needs to restart to install. It shuts my docker desktop… and then just never opens again. When I manually open it again, it acts like I never even tried to download the update.

I don’t know if it’s connected or separate, but any guidance would be so, so appreciated.

Maybe you have an antivirus blocking some requests from docker desktop or you have something installed that changed the PATH system variable. I don’t know, but there were no reports as far as I know about not recognizing compose, except yours.

You can try to uninstall it, remove every related folder and install again. You can find what you need to delete here:

this problem also bother me
my workaround is to run docker compose inside the WSL

months ago I upgraded, uninstalled, reinstalled Docker Desktop and didnt fix it
to be warn, uninstalling docker will remove all the volumes and images

today I upgraded to 4.33.1 and the problem gone

Turns out docker-compose has been depreciated for docker compose (no “-”). Looks like compose has been rolled into the docker tool

Yes, but at the same time, Docker Desktop sets an alias that recognizes docker-compose as docker compose