About the Author
Luke Patterson

Luke Patterson

Gaining Docker Image Size Efficiencies By Separating Application Layers

Luke Patterson Docker, Java, Problem Solving, Spring Boot, Technology Snapshot Leave a Comment

Problem

I was pushing a new Docker image tag for each application code commit, and the admins of the private registry were getting annoyed at how much space I was using.

Solution Summary

Yes, I know there are strategies to clean up old tags but I first wanted to reduce the impact of the tags I was pushing. With the right layering strategy, I knew I could reduce the net registry size increase of consecutive tag pushes.

I wanted to only push what had actually changed in the application. In addition to reducing the impact on the registry, having smaller tag deltas could possibly speed up rolling deployments since nodes could potentially have less to download.

Shrinkwrap before (or after) it’s too late!

Luke Patterson Docker, Programming, Technology Snapshot 2 Comments

This happened to me… Twas the night before beta launch… I installed a new node module for a last minute feature and everything went haywire when the change was deployed. I reverted the code change and built again but everything was still all messed up. What happened? Long story short, I kicked myself for not shrinkwrapping my dependencies while I …

Caching Strategy Reminder for Maven-Based Docker Builds

Luke Patterson Docker, Java, Problem Solving, Tutorial 14 Comments

My local development feedback loop between code change and runnable container was annoyingly long on a Maven-based project I was recently working on. I wanted to speed things up. CodeProject The scenario was something like this: touch/change some source code docker build maven downloads the world maven compiles my project docker run touch/change some source code docker build maven downloads …

Building Vagrant Boxes with VeeWee on TravisCI

Luke Patterson Problem Solving, Technology Snapshot Leave a Comment

(Pro Tip: you can safely skip the first 3 paragraphs) We’ve all been there: You push some .travis.yml commits and your clone gets parachuted into VM Land – only to find that things don’t go quite as expected. As the credits roll, you can’t help but feel a little anger towards your clone. How could it just blindly follow the script …