If you want to explore the content of a docker image, Dive is THE tool for exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker image.
Note that we will be exploring the image not the container: viewing the container and the image are not the same thing. You can get most of the time a bash access to a running container with
docker run -it image_name sh
Or following for images with an
docker run -it --entrypoint sh image_name
NOTE: there is no guarantee that an image will have any sort of interactive shell. many minimal images contain only the binaries necessary to support a service.
An image is not running, consider it like a definition of a future container. You can still view the content, this is possible since each “layerid” directory contains json file describing layer property and filesystem associated with that layer. Docker stores Container images as layers to optimize storage space by reusing layers across images.
Beside Dive, you can also use docker inspect
docker image inspect image_id
But Dive is a lot better as it allow to navigate and see the filesystem changes in a nice norton commander interface.
Show Docker image contents broken down by layer
As you select a layer on the left, you are shown the contents of that layer combined with all previous layers on the right. Also, you can fully explore the file tree with the arrow keys.
Indicate what's changed in each layer
Files that have changed, been modified, added, or removed are indicated in the file tree. This can be adjusted to show changes for a specific layer, or aggregated changes up to this layer.
Estimate "image efficiency"
The lower left pane shows basic layer info and an experimental metric that will guess how much wasted space your image contains. This might be from duplicating files across layers, moving files across layers, or not fully removing files. Both a percentage "score" and total wasted file space is provided.
Quick build/analysis cycles
You can build a Docker image and do an immediate analysis with one command:
dive build -t some-tag .
You only need to replace your
docker build command with the same
dive build command.
Analyze and image and get a pass/fail result based on the image efficiency and wasted space. Simply set
CI=true in the environment when invoking any valid dive command.
To install it:
docker pull wagoodman/dive
then just provide your image tag/id/digest
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive:latest <your-image>
Get more by visiting the project page https://github.com/wagoodman/dive
You might like also
On October 4th and 5th, the AlpineHack19 will be held, a blockchain-themed hackathon. The opportunity to bring together software developers, hackers, information technology enthusiasts and SMEs to showcase their know-how. The aim for the participants is to develop a functioning open-source software or #hardware prototype – solutions that eliminate real problems, for real companies. #Blockchain Technology will be the center of all predefined challenges. 24 hours of #Innovation, personal development and lots of fun. I will be there as hackathon mentor …
147 Days ago
CryptoMountain Rocks is a platform for Blockchainers from the Crypto Valley and beyond that offers a very inter-active conference with presentations, panels and talks battles. I will be there 3 days as a speaker and hackathon mentor. The event discusses latest Blockchain applications and talks about the impact of the new token economy on the way we do business. In parallel there will be the first CryptoMountain Rocks #ALPINE-HACK19 covering themes such as Agriculture, Energy and Supply Chain. …
147 Days ago
There are numerous GIT workflow floating around like Centralized Workflow, Gitflow, Forking flow and Feature Branch Workflow Over the last 10 years, I have followed this really simple workflow, similar to the forking flow. it allow Parallel Development, features branches can be merged to any release branches or ideally Master Collaboration Feature branches also make it easier for two or more developers to collaborate on the same feature We consider Master the stable version of the product, this branch should be deployed automatically using …
171 Days ago
Cloudflare, Inc. is an American web infrastructure and website security company, providing content delivery network services, DDoS mitigation, Internet security, and distributed domain name server services. It will cost you 0$ (DDOS, CDN) to 20$ or more and offer you the following advantages DDoS is short for Distributed Denial of Service. DDoSis a type of DOS attack where multiple compromised systems, which are often infected with a Trojan, are used to target a single system causing a Denial of Service …
171 Days ago
With Splunk You will be able to optimize container usage by monitoring CPU, memory, disk and network performance metrics from your containers. Pay only for what you need by managing resources and measuring the impact on service reliability and container resource requirements. Get a complete overview of Kubernetes and OpenShift Environments Correlate performance metrics, container logs and OpenShift/Kubernetes configuration and metadata for a better understanding of how your infrastructure is performing and how hosted applications are behaving. …
171 Days ago
From 0 to Splunk in 5 minutes using Docker and Compose Splunk is an American multinational corporation headquartered in San Francisco, California, which produces software for searching, monitoring, and analyzing machine-generated big data, via a web-style interface. Docker is an open source software platform to create, deploy and manage virtualized application containers on a common operating system (OS), with an ecosystem of allied tools. Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application's services. Then, with …
171 Days ago
IEO is currently the most popular fundraising trend in the crypto industry. As the name suggests, Initial Exchange Offering is conducted over the crypto trading platform and exchanges. So unlike ICOs wherein crypto projects directly approach investors, IEOs involve a third-party in the form of crypto exchanges. …
265 Days ago
Security token offering (STO) is a type of fundraising that is performed with a company offering tokenized securities. The defining feature of security token offerings is in its definition. Stocks, bonds and managed property trusts are another examples of securities. …
266 Days ago
Alexis Gauba presented a systematization of knowledge within major blockchain protocols or consensus, addresses the common challenges …
344 Days ago
I was attending the interesting LECTURE "Stablecoins: Crypto's Holy Grail or Fools’ Errand?" by Dr Garrick Hileman - Head of reseach at Blockchain - London School of Economics - United Kingdom at hashtag#ETH hashtag#Zurich and here is a copy of the slides Introducing: 2019 State of Stablecoins The 2019 report builds on its predecessor to provide an updated and expanded look at the current state of the stablecoin market - a space where we expect to see significant innovation in …
344 Days ago