Parse Image Correctly When Using Containerd Image Store
Hey Marcus, how are you?
I found an issue about building image when containerd is enabled for image store (needed for building multi-platform images). Seems that images needs to be parsed slightly differently in this case.
The way to reproduce it on my linux machine is to
- Enable containerd image store (Following https://docs.docker.com/storage/containerd/)
- Build a random image (with or without specifying multiple platforms)
It should report something like
[info] Tagging image 9f7f478055830d4b6f0981b76dcb33be52c1ef1496c71b2dbbecf7336ede58a2 with name: test-name
[info] Error response from daemon: No such image: sha256:9f7f478055830d4b6f0981b76dcb33be52c1ef1496c71b2dbbecf7336ede58a2
The follow commit should fix it, please see tests for the output from docker deamon. Thanks!
Hi @marcuslonnberg!
I've hit the same issue. My setup:
- macOS
- Docker Desktop
v4.28.0 - Turned on
Use containerd for pulling and storing imagesfor multi-platform building as stated in the documentation
I confirm that this patch will fix the issue.
Please merge & publish new release.
Thanks!
Nice PR, solved my issue!
I cloned @h0ngcha0's fork, did an sbt publishLocal, and set my build to use 1.11.1-SNAPSHOT.
This is awesome! Thanks for figuring this out.