diff --git a/Troubleshooting.md b/Troubleshooting.md index 43e0cfa..a23cd71 100644 --- a/Troubleshooting.md +++ b/Troubleshooting.md @@ -91,23 +91,23 @@ for m in $(mount | awk '$3 ~ /buildkit-mount/ {print $3}'); do done rm -rf ~/.docker/buildx/activity sudo systemctl start docker -docker buildx create --use --name default -docker buildx inspect --bootstrap +docker buildx use default # the bundled builder still exists — just point at it ``` The `umount -l` step is the one most recipes online miss. **Fix — driver corruption (count == 0).** -If `mount | grep -c buildkit-mount` already prints 0 and you still hit the wedge, the buildx driver state itself is inconsistent. Rebuild it: +If `mount | grep -c buildkit-mount` already prints 0 and you still hit the wedge, the buildx driver state itself is inconsistent. Rebuild it under a non-reserved name: ```bash -docker buildx rm default 2>/dev/null -rm -rf ~/.docker/buildx/activity ~/.docker/buildx/instances/default -docker buildx create --use --name default -docker buildx inspect --bootstrap +rm -rf ~/.docker/buildx/activity ~/.docker/buildx/instances/* +docker buildx create --name decnet-builder --use --bootstrap +docker buildx inspect ``` +`default` is reserved by Docker for the bundled builder — `buildx create --name default` errors out. Pick any other name. + **How DECNET handles it.** The engine's `_compose_with_retry`: * Pre-flights leaked mounts before every build; if the count crosses 10, refuses to start and emits the leaked-mount recipe.