Docker Captains are select community members that are both experts in their field and 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 Damian Naprawa, who recently became a Docker Captain. He’s a Software Architect at Capgemini and is based in Mielec, Poland.
How/when did you first discover Docker?
It was a long time ago!
For the first time, I saw some blog posts about Docker and also participated in Docker introductory workshops (thanks to Bart & Dan!). However, I do remember that at the beginning I couldn’t understand how it works and what the benefits are from the developer’s perspective. Since I always want to not only use, but also understand how the technology I use works under the hood, I spent a lot of time on learning and practicing.
After some time, the “aha” moment happened. I remember telling myself, “That’s awesome!”
After a couple of years, I decided to launch my own blog dedicated to the Polish community: szkoladockera.pl (in English it means “Docker School”). I wanted to help others understand Docker and containers, and hoped to share this great technology across the Polish community. I still remember how difficult it was for me – before that “aha” moment came, and before I started to know what I’m doing while using docker run
commands.
What is your favorite Docker command?
It used to be docker exec
(to see the container file system or for debugging purposes), but now the winner is docker sbom
.
Why? Because one of my top interests is container security.
With docker sbom
, I can see every installed package inside my final Docker image – which I couldn’t see before. Every time we use a FROM
command in the Dockerfile
, we’re referring to some base image. In most cases, we don’t create them ourselves, and we aren’t aware of what packages are installed on an OS level (like curl) and application level (like Log4j). There could be a lot of packages that your app doesn’t need anymore, and you should be aware of that.
What is your top tip for working with Docker that others may not know?
Using Docker in combination with Ngrok lets developers expose their containerized, microservices-based apps to the internet directly from their machines. It’s very helpful when we want to present what code changes we made to our teammates, stakeholders, and clients, plus how it works from a user perspective – without needing to build and publish the app in the destination environment. You can find an example here.
What’s the coolest Docker demo you have done/seen?
I have seen and done a lot of demos. However, if I need to mention just one, there’s one I’m really proud of.
In 2021, I organized an online conference for the Polish community called “Docker & Kubernetes Festival”. During that, I held a talk called “Docker for Developers”, where I presented quite a large amount of tips for working with Docker and how to speed up developer productivity.
There were around 700 Polish community members watching it live and thousands who watched the recording.
What have you worked on in the past six months that you’re particularly proud of?
I’ve been working closely with developer teams on containerizing microservices-based apps written in Java and Python (ML). Since I used to code mostly with JavaScript and the .NET platform, it was a very interesting experience. I had to dive deeply into the Java and Python code to understand architecture and implementation details. I then advised developers on refactoring the code and smoothly migrating to containers.
What do you anticipate will be Docker’s biggest announcement this year?
Docker SBOM. It’s a game changer for me to have an overview of packages installed in my final docker image both on OS-level (like curl) and application level (like Log4j)
What are some personal goals for the next year with respect to the Docker community ?
I’d like to share more knowledge on my blog about specific technologies (like NestJS, Java, Python etc.) – how to prepare the Dockerfiles using best practices, and how to refactor apps to smoothly migrate them into containers.
What was your favorite thing about DockerCon 2022?
Since I’m working closely with development teams, everything related to microservices and speeding up developer productivity.
Looking to the distant future, what is the technology that you’re most excited about and that you think holds a lot of promise?
Containers, of course! I do see a huge demand for container experts and I predict this demand will increase. While speaking with the clients or with my students (of online courses), I’ve learned that companies have started to appreciate the benefits of containers, and they just want them in their workflows.
Apart from that, I’m excited about web3 and NFT. I guess there’ll also be a demand for blockchain/web3 developers and security specialists in the next few years.
Rapid fire questions…
What new skill have you mastered during the pandemic?
I gave a lot of online demos and conducted a lot of webinars, but now I’m really keen to meet with people offline! I also started my podcast, More Than Containers, but I need to go back to regular recordings!
Cats or Dogs?
Both!
Salty, sour or sweet?
Salty. Nobody believes me, but I can live without sweet 😀
Beach or mountains?
I love to travel, discover new things, and visit new places. Life is too short to choose between beach and mountains 😀
Your most often used emoji?
Captain emoji!