Search code examples
macosdockerddev

ddev failed to start or restart with a "docker Read timed out"


I got a problem when I start a 2nd ddev container or restart a running ddev container. Then I more and more often run into the following error:

Failed to start project for custom command: Failed to run docker-compose [-f /Users/montea/tmp/tryddevproject-10532/.ddev/.ddev-docker-compose-full.yaml up --build -d], err='exit status 1', stdout='Docker Compose is now in the Docker CLI, try docker compose up

At the time of writing I have the latest Version of

  • Docker Desktop Version 3.3.3 (64133)
  • ddev 1.17.2

Running on macOS Catalina Version 10.15.7

I run the diagnostic script as it is said in this post

Here is the gist for ddev 1.17.2

Here is the gist for ddev 1.17.1 (for reference)

If I restart Docker it first works, but then after a while the problem appears again.

Sometimes the Docker restart doesn't work at all. Then it could help if I do ddev poweroff and ddev start again.

Perhaps this is also a problem: my oldest ddev project was 1.8.0 my newest is 1.17.2 …

Edit/Update:

After the try-fixes in my answer:

I was too hectic and started two ddev containers at the same time. Got this Error.

Failed to start project: failed to start ddev-router: Failed to run docker-compose [-f /Users/montea/.ddev/.router-compose-full.yaml -p ddev-router up -d], err='exit status 1', stdout='', stderr='Top level object in '/Users/montea/.ddev/.router-compose-full.yaml' needs to be an object not '<class 'NoneType'>'.'

But after that I started the container again, that "crashed", and everything works.

The only thing is, every time I start my mac and start ddev I run into this error:

Failed to start project2: ddev-router failed to become ready; debug with 'docker logs ddev-router'; logOutput=container was previously healthy, so sleeping 59 seconds before continuing healthcheck... nginx config valid:OK ddev nginx config:generated nginx healthcheck endpoint:OK ddev-router is healthy with 3 upstreams, err=container /ddev-router unhealthy: container was previously healthy, so sleeping 59 seconds before continuing healthcheck... nginx config valid:OK ddev nginx config:generated nginx healthcheck endpoint:OK ddev-router is healthy with 3 upstreams

After ddev poweroff and ddev start again, it works. But the error appears every day.


Solution

  • I thought this was only a Docker issue. So I followed these steps:

    • Reboot (helps temporay)
    • Turn off the firewall (was not possible, because my admins don't like that)
    • Backup all ddev databases
    • Clean / Purge data
    • Reset docker to factory defaults

    Nothing from the above worked, so Docker wants the "hard way". So I decided to remove/uninstall Docker from my MAC.

    • Docker removed from Applications
    • com.docker.docker removed from Library/Containers
    • com.docker.helper removed from Library/Application Scripts
    • com.docker.docker removed from Library/Caches
    • group.com.docker removed from Library/Group Containers
    • Docker Desktop removed from Library/Application Support

    I found a brew installed docker, so I removed that also:

    Downloaded Docker.dmg and installed it. Now I hope this helps others too, who run into this issue.


    After a while of testing I think the fix is a bundle of

    • remove and reinstall docker (like above)
    • reinstalling docker

    and every eob I do

    • ddev poweroff

    No more problems…