 Hi everyone, welcome to my lightning talk where I'd like to present you a tool to analyze the sizes and the size distribution of all the layers in your container images so that you can finally find out what made it fat. First a bit about me, I'm Dan, MSF developer working at SUSE, part of the developer engagement program. Besides that, I'm a member of the i3 SIG in the Fedora community where I'm also a package maintainer. My big passions are development tools and besides that also testing and writing documentation. If you'd like to stalk me on social media, you can find a few handlers below on the slide. But now let's get to the topic at hand and what I'm actually trying to solve with this. So let's go a bit back in time. I started working on building container images based on the SUSE Linux Enterprise distribution and there we often ran into the issue that we'd like to know where is the which files in the container image are taking up so much space. So where is this, where's this huge size increase? So you start the container and then you run DU or NCDU or one of your favorite tools and then you can find it out. But it's not not not super visual. So then if you start building derived container images and now you suddenly have multiple layers, then your final image is big. But which layer actually caused it? Then if you enter the container and run NCDU, then it suddenly doesn't work anymore. So you have to extract each individual container layer and then you rebuild it and you have to do it over and over and over again and then you can get very easily very confused which layer was which one and gets a mess very quickly. So the standard tool for this is Dive that you'd use for this which can be used to analyze and minimize container images. But it's primarily intended for minimizing and it's I'd actually really like to have sunburst graphs that Baobab the Gnome Disk Usage Analyzer provides. And so I thought well if Dive doesn't do that, let's write something. And so what you can see here is a sunburst graph of the golden container which is created by my tool which is a simple web app and since it's a web app we can just give it a try directly here. So what you can see here let me zoom in a little bit. This is the this is essentially the analyzer running on my system. I've already entered here a container image. I'll press on pull. It will show me a whole bunch of information. It will start downloading the container image. So we'll now have to wait a teeny tiny bit but fortunately this image is not too big. You can see also additional information that are displayed here for instance all the labels that are provided for this container. And if my internet was a little bit faster currently then we could take a look at the final thing in just a minute and we're done. So it extracted the image, analyzed it. We can see the two layers in here and we can just click here on plot this layer. Then we'll get presented in a second with a sunburst graph and now so this is generated via plotly. So you can just click on anything in here and you'll see the the image displayed here tells you what is the size of this thing and then you can just take a look around and find out what is taking up so much space in here. Okay so let's get back to it. Few features of this that this thing supports. So you can analyze images from any registry out there. Since this thing uses the Golang libraries that I used by Portman itself it runs in rootless mode by default which is pretty nice. So you don't need any elevated privileges and it also runs as a containerized web app. So if you want to give it a try just copy this command and it will launch on localhost on port 5050 and with that you're set. A few links so you can find the source code on github and the source code of this presentation there as well. The obligatory legal slide and in case and now I'm very happy to answer all your questions.