The current wording is a little misleading on QEMU and binfmt_misc. This is a problem Ubuntu and, maybe, other distributions.
> For QEMU binaries registered with `binfmt_misc` on the host OS to work transparently inside containers they must be registered with the `fix_binary` flag. This requires a kernel >= 4.8 and binfmt-support >= 2.1.7. You can check for proper registration by checking if `F` is among the flags in `/proc/sys/fs/binfmt_misc/qemu-*`.
This implies that setting the fix_binary flag on otherwise installed QEMU & binfmt_msc will work; it probably wont.
Eg installing Ubuntu packages `qemu-user` `qemu-user-binfmt` will install dynamically linked QEMU and binfmt_msc entries without the `F` flag. Manually adding `F` to the flags will break because `F` (fix_binary) is incompatible with dynamically linked binaries. (Referenced in [this Redhat issue](https://bugzilla.redhat.com/show_bug.cgi?id=1470397)) It actually results in really hard to diagnose "No such file or directory" errors. Instead you must install the ubuntu package `qemu-user-static`.
Obviously this page can't document every distribution so I'm not going to recommend describing how to do it under Ubuntu. My suggestion is to simply state that QEMU must be statically compiled. At least this gives readers a chance to figure it out.
BuildKit allows using alternative Dockerfile syntaxes to introduce new features
without having to update Docker itself. The general recommendation is to always
specify a "syntax" directive in a Dockerfile, so that (if needed) older versions
of Docker can download the correct syntax to build the Dockerfile.
This updates our examples to include a syntax directive, to make users more familiar
with these directives, and to illustrate best-pracitces in our documentation.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
- remove the experimental banner
- moved the "install as default builder section under the install
section
- wrapped lines to be ~80 chars
- created some links to reference pages
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>