Introducing our new CEO Don Johnson - Read More

paleozogt/scratch

By paleozogt

Updated almost 2 years ago

Multi-arch scratch-like base images

Image
0

2.4K

Multi-arch Scratch Images

Source: https://github.com/paleozogt/scratch-multiarch

When creating an image FROM scratch the resulting image matches the host machine's architecture. This is not necessarily what you want if you're doing cross-compilation.

For example,

$ echo 'FROM scratch' >> Dockerfile
$ echo 'ADD files.arm64v8.tgz' >> Dockerfile
$ docker build . -t foo:arm64                       # where to put arch?

$ docker inspect foo:arm64 | jq -r .[].Architecture
amd64                                               # uh-oh

The multi-arch "scratch" images are empty scratch-like images but with the right metadata so that you can do this:

$ echo 'FROM paleozogt/scratch:arm64v8' >> Dockerfile
$ echo 'ADD files.arm64v8.tgz' >> Dockerfile
$ docker build . -t foo:arm64

$ docker inspect foo:arm64 | jq -r .[].Architecture
arm64                                                # yay!

$ docker inspect foo:arm64 | jq -r .[].Variant
v8                                                   # yay!

Docker Pull Command

docker pull paleozogt/scratch