I’m on MacOs 10.15.5 using Docker Desktop v20.10.7 and I’m getting the following error when trying to run circle ci locally:
$> circleci local execute --job test
Docker image digest: sha256:c20c6d085dd5d77c1dd3c86ac2f3942b3a548a741805aa08a285c47e001404f5
====>> Spin up environment
Build-agent version ()
System information:
Server Version: 20.10.6
Storage Driver: overlay2
Backing Filesystem: extfs
Cgroup Driver: cgroupfs
Cgroup Version: 1
Kernel Version: 5.10.25-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
Starting container futurefamily/ci-www
Warning: No authentication provided, using CircleCI credentials for pulls from Docker Hub.
image is cached as futurefamily/ci-www, but refreshing…
Error: error starting container futurefamily/ci-www: Error response from daemon: --storage-opt is supported only for overlay over xfs with ‘pquota’ mount option
latest: Pulling from futurefamily/ci-www
Digest: sha256:81fcf2afa48e0cfc414cd57d449104141156dbab8f77acf543781849abdbd9b5
Status: Image is up to date for futurefamily/ci-www:latest
Error:
Unexpected environment preparation error: Error response from daemon: --storage-opt is supported only for overlay over xfs with ‘pquota’ mount option
Step failed
Task failed
Error: Unhandled prepare executor error: Error response from daemon: --storage-opt is supported only for overlay over xfs with ‘pquota’ mount option
% circleci local execute --job build
Docker image digest: sha256:c20c6d085dd5d77c1dd3c86ac2f3942b3a548a741805aa08a285c47e001404f5
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
====>> Spin up environment
Build-agent version ()
System information:
Server Version: 20.10.7
Storage Driver: overlay2
Backing Filesystem: extfs
Cgroup Driver: cgroupfs
Cgroup Version: 1
Kernel Version: 5.10.25-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
Starting container circleci/golang:1.12
Warning: No authentication provided, using CircleCI credentials for pulls from Docker Hub.
image is cached as circleci/golang:1.12, but refreshing...
Error: error starting container circleci/golang:1.12: Error response from daemon: --storage-opt is supported only for overlay over xfs with 'pquota' mount option
1.12: Pulling from circleci/golang
Digest: sha256:ae191834590b2cdee6ca9bb6985f02e05b3f9b326536f83494f788889481b408
Status: Image is up to date for circleci/golang:1.12
Error:
Unexpected environment preparation error: Error response from daemon: --storage-opt is supported only for overlay over xfs with 'pquota' mount option
Step failed
Task failed
Error: Unhandled prepare executor error: Error response from daemon: --storage-opt is supported only for overlay over xfs with 'pquota' mount option
I spent a chunk of time debugging this today and discovered the problem. The “circleci local execute” command caches a “circleci/picard” container image locally and uses this image to run local builds.
The problem is that once it fetches this container image, it never updates it. At some point it seems we’ve all pulled a picard image that was sending bogus --storage-opts to docker.
The fix is simple: remove ~/.circleci/build_agent_settings.json and run your “circleci local execute” command again. It will fail to find the local cached version and pull the latest image, which appears to work.
If that doesn’t do it for you, you can try the same picard version I just tested locally that works. You’d set the ~/.circleci/build_agent_settings.json file content to