Posts for: #Docker

Improving Dockerfile Development Cycle with Tilt, and Making R Builds Fail Fast

Crafting and optimising Dockerfiles can be a bit tedious with the edit-build-test cycle, especially when optimising layer caching and working with multi-stage builds. Running commands or clicking buttons on every change—where is our hot reloading? An answer - Tilt. Tilt’s primary purpose is providing local dev environments for microservice development, like a whole Kubernetes stack or Docker Compose stack. Tilt is an awesome, rewarding tool which I use regularly. Part of its offering is monitoring Dockerfiles for changes with automatic rebuilds and displaying this in a web UI.
[Read more]

WSL MTU Issues with Azure SSTP VPN Connections

Azure VPN Gateway’s SSTP Point-to-Site (P2S) connections to private VNETs can cause networking issues in WSL. Symptoms include hanging SSL connections, frozen database clients, and DB clients failing in Docker/Kubernetes networks. I encountered this with a SSL secured MySQL connection which would just hang with nothing informative. Worked fine from the Windows host. The culprit: MTU mismatches. The Problem MTU (Maximum Transmission Unit) is the largest packet size that can be transmitted over a network connection.
[Read more]

Migrating from Docker Compose to Kubernetes (K3s)

In this post, we will look at migrating Docker Compose run services to K3s, a lightweight version of Kubernetes. K3s provides an approachable way to experience Kubernetes. It is quick to spin up and takes care of a lot of boilerplate, which suits a test environment. We can work our way up to full Kubernetes (K8s) in the future. We will continue using this site as an example and build upon the previous post which got our GitHub repo to here.
[Read more]

Self-Hosted Website with Hugo, Docker, and Cloudflare Tunnels

This post will step through the process of building a Hugo-based website image using Docker in Ubuntu Linux, setting up a Cloudflare tunnel, and using a Docker Compose stack to bring up the website and Cloudflared containers. This will make a website available on the internet using an existing top-level domain. Some basic knowledge of Linux is required. At the time of writing, this is how this site is being hosted.
[Read more]