TL;DR: docker.Client was renamed to docker.APIClient in docker-py 4.0. Change `from docker import Client` to `from docker import APIClient`, or better, use the high-level docker.from_env() client.

```text
ImportError: cannot import name 'Client' from 'docker'
```

## Fix it

1. Replace the import: from docker import APIClient. Expected: the import succeeds.
2. Update instantiations: APIClient(base_url='unix://var/run/docker.sock') where you had Client(...). Expected: same behavior.
3. Better yet, switch to the high-level API: client = docker.from_env(). Expected: simpler code, same daemon.
4. Bump any pin in requirements to docker>=4.0 so fresh installs do not regress.

## When this applies
- The code does from docker import Client and docker-py is 4.x+.

## When it doesn't
- docker-py is 3.x and you want the old API: keep the pin, but 3.x is ancient.
- The import works but calls fail: daemon connection problem, not this.

## Compatibility
- docker-py >= 4.0 renamed it; docker.from_env() is the modern path.

## Why it happens
docker-py 4.0 split the low-level APIClient from the high-level DockerClient and dropped the old Client alias, breaking old tutorials verbatim.

## Edge cases
- Some old libraries import docker.Client internally; upgrade those libraries.
- docker.APIClient still exists in 7.x, so the rename is forward-safe.
