Container orchestration is the fashionable answer and a release directory with a symlink is still the right one for a single application on one or two hosts. mv…
A multi-stage Dockerfile can serve development and production from one file, provided the build is told where to stop. The last form is the one worth remembering, because…
Mounting /var/run/docker.sock into a container to let it build images is equivalent to giving that container root on the host, and it is presented in most CI documentation…
Lint failures arriving from CI ten minutes after a push are a context switch for something a machine could have fixed before the commit existed — and a…
Passing a private repository token as a build argument puts it in the image history, where docker history will read it back out for anyone with the image.…
Caching Composer or npm downloads previously meant a layer holding the cache directory, which bloats the image and is invalidated whenever anything above it changes. The cache lives…