Frustrating Docker Desktop on Mac Containerd issue
Tags: docker, containerd, bug
Published: 2024-04-13 11:23:56

Recently, I have been having issue with my Docker Desktop on Mac. With latest docker version, I have been having weird issues with `docker buildx build` with or without `--platform` command parameter.

```bash

<-- Building application... with file xxx.jar
[+] Building 4.4s (9/9) FINISHED                                                                                docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                            0.0s
 => => transferring dockerfile: 250B                                                                                            0.0s
 => [internal] load metadata for docker.io/library/sapmachine:17-jre-ubuntu                                                     1.2s
 => [auth] library/sapmachine:pull token for registry-1.docker.io                                                               0.0s
 => [internal] load .dockerignore                                                                                               0.0s
 => => transferring context: 2B                                                                                                 0.0s
 => [1/3] FROM docker.io/library/sapmachine:17-jre-ubuntu@sha256:5e62bb11c7b261b456ed92333244971b1147606f1de19308a475f40fb87d3  0.0s
 => => resolve docker.io/library/sapmachine:17-jre-ubuntu@sha256:5e62bb11c7b261b456ed92333244971b1147606f1de19308a475f40fb87d3  0.0s
 => [internal] load build context                                                                                               0.5s
 => => transferring context: 82.01MB                                                                                            0.5s
 => CACHED [2/3] WORKDIR /opt/app                                                                                               0.0s
 => [3/3] COPY ../../../target/product-syndication-services-1.0.0-SNAPSHOT.jar ./app.jar                                        0.4s
 => exporting to image                                                                                                          2.2s
 => => exporting layers                                                                                                         2.1s
 => => exporting manifest sha256:7651ad6af65e3b1766371fd77aa2e2d735916fc6b1ad1c09d6073b309d35860d                               0.0s
 => => exporting config sha256:48c636cab66cd0d3e0af535d3df2597bd49df7ecb443e3836ad6e2d6809af57a                                 0.0s
 => => exporting attestation manifest sha256:15913c47d0839153b098d0a03a021ce540f850b4ad7ff0cfb01d84eb161db7ee                   0.0s
 => => exporting manifest list sha256:5c93ea385bb027dfa952924698fb4505898d5f95c7d1911bb2d6a8f4618c7bd0                          0.0s
 => => naming to docker.io/library/xxx-services:latest                                                          0.0s
 => => naming to docker.io/library/xxx-services:20240412183028                                                  0.0s
 => => naming to xxxx.common.repositories.cloud.sap/xxx-services:20240412183028                          0.0s
 => => naming to xxxx.common.repositories.cloud.sap/xxx-services:latest                                  0.0s

View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/i8ehocxx8km11ulpgs8xuggtr
<-- Building application...
The push refers to repository [xxxx.common.repositories.cloud.sap/xxx-services]
236773733796: Layer already exists
92a775d24bc3: Pushed
06b5b4631fbb: Pushed
23828d760c7b: Layer already exists
33136b601654: Layer already exists
missing content: content digest sha256:7651ad6af65e3b1766371fd77aa2e2d735916fc6b1ad1c09d6073b309d35860d: not found
Note: You're trying to push a manifest list/index which references multiple platform specific manifests, but not all of them are available locally or available to the remote repository.
Make sure you have all the referenced content and try again.
```

I have been looking for the solution and found few suggestions like setting command parameter `--provenance=false`, it worked for couple times, but then stopped working. Another one was checking [docker buildx imagetools inspect](https://docs.docker.com/reference/cli/docker/buildx/imagetools/inspect/), but image was never pushed and found, so I failed with that.

Finally, I was able to find raised GitHub issue [#4959 related to **containerd**](https://github.com/docker/cli/issues/4959).

I was genuinely surprised, as it have been working so long and with one of recent releases stopped.

I disabled one option in Docker settings and finally started to work again.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2vyqqqm0qsqo5eduxoku.png)




Here is my docker version:

```bash
⋊> ~/b/b/btp on feature/XXX-XXX ⨯ docker version                                             18:44:39
Client: Docker Engine - Community
 Version:           24.0.6
 API version:       1.43
 Go version:        go1.21.1
 Git commit:        ed223bc820
 Built:             Thu Aug 31 17:24:32 2023
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop 4.28.0 (139021)
 Engine:
  Version:          25.0.3
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       f417435
  Built:            Tue Feb  6 21:14:22 2024
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
```