Fixing Lando Crashes in Docker Desktop

If you use Lando and Docker for web development you might have noticed a problem in the last few weeks. In my case this manifested as the following screenshot during lando start:

The trace output of Lando crashing on start due to an error in your Docker config.

The issue itself can be summed up in the following error message:

services.app.env_file must be a string
Code language: CSS (css)

or

services.appserver_nginx.labels.traefik.http.routers.51ceda58f85aacb14f0ba2e83c578df12f64202b-secured.tls must be a string, number or null
Code language: CSS (css)

The issue is actually due to a change in Docker Desktop that released in version 3.4 for Mac. This is because Docker has started including Docker Compose as part of the core Docker CLI (you can read about the full change here).

Fortunately the fix is pretty easy. In Docker Desktop simply go to Settings->Experimental Features and turn off “Use Docker Compose V2.” Then restart Docker and launch your Lando application.

Uncheck "Use Docker Compose V2" in "Experimental Features"
Uncheck “Use Docker Compose V2” in “Experimental Features”