Using DevContainer CLI to Build Multi-Platform Images with Embedded Features

Using DevContainer CLI to Build Multi-Platform Images with Embedded Features

Development Containers represent a paradigm shift in software development methodology, encapsulating comprehensive development environments within containerized configurations. This approach addresses the imperative need for consistency across diverse development environments by packaging essential tools, libraries, and configurations within self-contained units. Developers can utilize DevContainers to seamlessly share and replicate their development setups, fostering collaboration and enabling a hassle-free onboarding process for new team members. This enhances efficiency, reduces setup time, and mitigates compatibility issues, ultimately streamlining the development workflow.

The DevContainers CLI is a robust command-line interface integral to managing and manipulating development containers. However, nothing is bug-free, and this post details a troubleshooting experience with the DevContainers CLI to build development multi-architecture development container images with embedded features.

How to Conditionally Disable Object Cache Drop-in

How to Conditionally Disable Object Cache Drop-in

A site has one primary domain name and several secondary names. It also uses an object cache drop-in. Site administrators use only the primary domain for posting. All the administrative operations trigger cache updates only for the primary domain; the mirrors on the secondary domains show stale data. Site owners somehow needed to disable the object cache for all domains except the primary one.

This post shows a way to selectively disable the object cache drop-in.

Speeding up Docker Builds With eatmydata

Quite often, one of the most time-taking parts of the build process is the installation of dependencies. This process is traditionally slow because package managers choose stability over performance. And this perfectly makes sense: if something terrible happens, the system must remain in a usable state.

However, stability is not very important when building an image: if the build fails, the system discards the image, and you have to start over.

This post provides some tips on how to use `eatmydata` to speed up some operations by the example of Debian-based images.