Docker provides the ability to build and run containerized applications across all host operating systems.

Docker posts

Create a named Docker bind mount volume

Sometimes, when creating tooling for Docker it’s necessary to create a bind mount as a named Docker volume.

How to setup Docker CE on Ubuntu

The Docker documentation for installing Docker CE under Ubuntu is really fantastic. This guide aims to provide a very opinionated step-by-step setup to give most developers a straightforward installation for local dev work.

How to setup Docker on Solus

While you won’t get a package file from Docker directly, the Solus Project’s eopkg command makes setting up Docker easy enough.

How to use Docker for Node.js development

There are a couple aspects of Node.js that make using Docker for development somewhat difficult. The primary difficulties come from dependency differences based on environment and a long running server process during development.

Copy large directory from Docker Image to host

When using Docker for development, it’s often necessary to bind mount directories from your host into your container. However, you’ll run into problems if your image contains files your host doesn’t (such as a node_modules directory). When that happens, you’ll need to get the files from your image into your host before you start your container with the mount.

Kill all non-Kubernetes containers in Docker

At work we’re using Kubernetes with Docker for Mac on our local development environments—which has been amazing. However, devs often end up with dangling non-Kubernetes containers hanging around (from terminals being accidentally closed or VS Code reloads) keeping expensive Docker bind mounts around. This is a command I chained together to cleanup these extra containers without disturbing those in the Kubernetes deployment.

Docker for development: or how I learned to stop worrying and love onboarding

Onboarding new developers is time consuming and hard. Everyone has unique quirks on their machine from past software/configuration they’ve installed, removed, or overridden that makes creating consistent environment setup guides an absolute nightmare. This is how I overcame many of the issues—and you can too—by adopting Docker for development.