Docker Desktop v4.0 and docker-compose

adityachatterjee@Adityas-MacBook-Air ~ % mesheryctl system start
ERRO[0000] failure getting variant                       error="getCPUInfo for OS darwin: not implemented"
!! docker-compose is not available
Attempting Docker-Compose installation...
Prerequisite Docker Compose is installed.
Updating Meshery now...
Error: failed to start Meshery
See for usage details
: failed to update Meshery containers
See for usage details
: failed to start meshery
See for usage details
: fork/exec /usr/local/bin/docker-compose: exec format error

After updating to the latest docker desktop I keep getting this error while trying to start meshery through mesheryctl. After that when I check docker-compose i get a random HTML file.

`/usr/local/bin/docker-compose: line 7: syntax error near unexpected token `newline’
/usr/local/bin/docker-compose: line 7: <!DOCTYPE html>

It appears as if the installation of docker-compose that is being automatically attempted might be failing considering that Docker may no longer publishing docker-compose separately. @hexxdump, I wonder if you might verify.

Why does it say that docker-compose is not installed though?

@warunicorn19 I know we went through this a few days ago but when you re-install Docker, it will install docker-compose. Now, if you start Meshery does it still show that docker-compose is missing?

I don’t think switching to the Docker SDK (which now has docker compose) will be that difficult, but with the release coming up, we have other priorities. So, maybe after the release, we can work on this.

PS, I have the same environment as @warunicorn19 and I do not face this issue but I have been hesitant to update Docker :sweat_smile:

@navendu so like i had mentioned, the problem is a little confusing😅. So, when I start docker desktop and run docker-compose in my terminal, it shows me the docker compose help. But if do mesheryctl system start and then do docker-compose it shows me the above error.

@warunicorn19, I have updated my Docker desktop and when i run docker-compose on command line, I do get the recommendation to use “docker compose” CLI. However, I do not see the above error with meshery system start -p docker. I can see that meshery comes up fine on my MacBook.

mesheryctl system start -p docker 
A new release of mesheryctl is available: v0.5.52 → v0.5.61
Check for instructions on how to update mesheryctl

Updating Meshery now...
Pulling meshery       ... done
Pulling meshery-istio ... done
Pulling watchtower    ... done
Starting Meshery...
WARNING: Found orphan containers (meshery_meshery-kuma_1, meshery_meshery-traefik-mesh_1, meshery_meshery-cpx_1, meshery_meshery-linkerd_1, meshery_meshery-nsm_1, meshery_meshery-osm_1, meshery_meshery-consul_1) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
Starting meshery_watchtower_1      ... done
Starting meshery_meshery_1         ... done
Recreating meshery_meshery-istio_1 ... done
Opening Meshery (http://localhost:9081) in browser.