Plenty room for more (concurrent) layers, too!<p>I've only recently embraced using multi-stage build to concurrently split a build in two to four steps<p>* (one or more) fetcher, for fetching (say) the source package or cloning a git repo in the proper commit/branch, or having external dependencies whose output could be cached regardless of the rest of the dockerfile contents<p>* builder, which uses "COPY --from=fetcher" to "bring over" the code or dependencies<p>* the actual resulting image, which oftentimes could well be a "FROM scratch" and be just comprised of "COPY --from=builder" instructions.<p>With "docker buildx", or with "DOCKER_BUILDKIT=1 docker build", it's pure joy to use!
We are finally getting closer to multi-arch builds with Docker buildx. It's annoying to jump the hoops when needing to do this for different things. buildx is changing that. Looking forward to having this capability in stable.
<p><pre><code> <!-- wp:paragraph -->
<p>RUN mkdir -p /sysroot/usr /sysroot/opt /sysroot/lib</p>
</code></pre>
it seems that article's formatting is having some issues
> Because compiling Qt (and QtWebEngine) is a very heavy operation, we would need to pre-compile and distribute Qt so that the Dockerfile could simply download and include it in the build process (rather than compiling as part of the installation process).<p>Just in case: Release build of my Sciter.JS ( <a href="https://github.com/c-smile/sciter-js-sdk" rel="nofollow">https://github.com/c-smile/sciter-js-sdk</a> ) gets re-compiled in <i>55 seconds</i> on pretty average dev machine that I have here. Sciter.JS is version of Sciter (<a href="https://sciter.com" rel="nofollow">https://sciter.com</a>) that uses JavaScript (ES6) script VM instead of custom TIScript.<p>Sciter.JS covers functionality of Qt UI, Qt Quick and QtWebEngine.<p>It already runs MithrilJS (micro-React), SvelteJS compilations, Leaflet (Maps) as they are. See: <a href="https://sciter.com/sciter-js-runs-leafletjs-as-it-is/" rel="nofollow">https://sciter.com/sciter-js-runs-leafletjs-as-it-is/</a><p>The end goal is to provide UI runtime that is in times smaller than Qt+QtWebEngine and ElectronJS but is still capable to run tons of existing Web components and frameworks.