Docker Captain Take 5 – Elton Stoneman


Jan 22 2021

Docker Captains are select members of the community that are both experts in their field and are passionate about sharing their Docker knowledge with others. “Docker Captains Take 5” is a regular blog series where we get a closer look at our Captains and ask them the same broad set of questions ranging from what their best Docker tip is to whether they prefer cats or dogs (personally, we like whales and turtles over here). Today, we’re interviewing Elton Stoneman who has been a Docker Captain since 2016. He is a Container Consultant and Trainer and is based in Gloucestershire, United Kingdom.

How/when did you first discover Docker?

I was consulting as an API Architect, building out the backend services for a new Android device. My role was all about .NET services running in Azure, but we worked as a single team – and the people working on the operating system were using Docker to simplify their build tools. 

I started looking into their setup and I was just stunned at how you could run complex software with a single Docker command – and have it run the same way on any machine. That was way back in 2014, Docker was version 0.7 I think and I created my Docker Hub account in August of that year. Then I started blogging and speaking about Docker, and I’ve never looked back.

What is your favorite Docker command?

docker manifest inspect [image]

Multi-architecture images are hugely powerful. I work with a lot of platforms now but my heart is still in .NET. The latest .NET runtime works on Windows and Linux on Intel and Arm CPUs, and I love how you can target your apps for different infrastructures, using the same source code and a single Dockerfile.

What is your top tip you think other people don’t know for working with Docker?

Specifically for people who work on hybrid apps like me, with some parts on Windows and some on Linux: when you switch from Linux to Windows containers in Docker Desktop, your containers keep running. If you want to run a hybrid app on your dev machine, then you can do it by publishing ports from the containers on different operating systems and have them communicate over the network, via your host.docker.internal address.

What’s the coolest Docker demo you have done/seen?

I worked at Docker for a few years, and I was lucky enough to present at DockerCon during a couple of keynote sessions. My favorite was the Day 1 Keynote from 2019 where I did a demo with Harish talking about migrating old apps to Docker. We had a ton of fun writing and rehearsing that. A lot of people thought the DockerCon demos were done by actors, but they were all Docker staff, working overtime 🙂

What have you worked on in the past 6 months that you’re particularly proud of?

I’m a freelance consultant and trainer now, helping organizations on their container journeys, and I also create a lot of content to help practitioners learn the technologies and approaches. 

In the last six months I launched my weekly YouTube series Elton’s Container Show, finished writing my new book Learn Kubernetes in a Month of Lunches, published my 26th Pluralsight course Preparing Docker Apps for Production and my first Udemy course Docker for .NET Apps. It’s been busy…

What do you anticipate will be Docker’s biggest announcement this year?

I’d love to see the Docker Compose spec expanding to cover bits of the application which aren’t necessarily going to run in containers. It would be great to have a modelling language where I can express the architectural intent without going into the details of the technology. So my spec says I need a MySQL database, and when I run it on a local machine I get a MySQL container with a default password. But then deploy the exact same spec to the cloud and I’d get a managed MySQL service with a password generated and securely stored in a secret service. 

What do you think is going to be Docker’s biggest challenge in 2021?

Maybe it will be working out what new features and products are really the must-haves for customers. The product and engineering teams at Docker are first-rate, but it’s hard to pick out the next desirable feature when the product is ubiquitous amongst a very disparate IT industry. If you watch that DockerCon demo from 2019 I showed a bunch of features we were working on – Docker Assemble, Docker Pipeline, Docker Application Convertor – I don’t think any of those exist now. They addressed real problems in CI/CD and app migration, but they weren’t a big enough deal for enough customers for Docker to continue investing in them.

What are some personal goals for the next year with respect to the Docker community?

A lot of my focus is on helping people to skill up and learn how containers are used in the real world – but I want to keep the entry barrier low. When my Docker book came out in 2020 I did a YouTube series where I walked through a chapter in each episode. That helped people see how to use Docker in action, to ask questions and to learn without having to buy the book. I’ll be doing the same in 2021 when my Kubernetes book launches.

I’m also aware that learning materials can be pretty expensive for people, so one of my goals is to put out more Udemy courses where the content is great but the course is affordable. My plan is to get courses out to cover all the major areas – Docker and Kubernetes, observability, continuous delivery, security and service mesh architectures. Anytime I publish something I’ll promote it on Twitter, so be sure to follow @EltonStoneman to be the first to know.

And I’m always happy to speak at meetups, especially now that we’ll be virtual for a good while longer. If you need a speaker at an event, just ask.

What talk would you most love to see at DockerCon 2021?

I’ve presented at every DockerCon since 2017 so obviously I’d love to be there again in 2021. But if I can’t choose myself, it’d be one of my fellow Docker Captains talking about a project they’ve helped on. The real-world stuff is always super interesting for me.

Looking to the distant future, what is the technology that you’re most excited about and that you think holds a lot of promise?

I really like how application modelling is starting to become abstracted from the technology that actually runs the app. The Docker Compose specification is really promising here: you can define your app in a fairly abstract way and deploy it to a single Docker machine, or to a Docker Swarm cluster, or to a managed container service like Azure Container Instances, or to a Kubernetes cluster running in the cloud or the datacenter.

There’s a balance between keeping the application model abstract and being able to make use of all the features your target platform provides. I think enough people are interested in that problem that we could see some nice advances there. Removing the operational load of creating and managing clusters will make containers even more attractive.

Rapid fire questions…

What new skill have you mastered during the pandemic?

Touch typing.

Salty, sour or sweet?

Mixed. But – is this a popcorn question? I tried cheddar cheese popcorn in the Docker office in San Francisco one time and it was revolting.

Dogs, cats, neither, both?

Cats, but my family are exerting a lot of dog pressure.

Beach or mountains?

Mountains – preferably running through them.

Your most often used emoji?

The smiley, smiley face 🙂