- Category: Development
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
Happy Thanksgiving! I would like to wish you to celebrate this beautiful festive and be thankful for everything and everyone that brings you joy in your life. Enjoy each and every moment of this wonderful day!
- Category: Quadcopter
DJI has introduced its most compact and portable drone yet. At just 249 grams, the ultralight Mavic Mini delivers a 30-minute max. flight time, 4km HD video transmission, and powerful safety features. Capture every vivid detail in 2.7K Quad HD video and enjoy simplified recording and editing with the new, hyper-intuitive DJI Fly app. Whether you’re trekking through the mountains, enjoying a day at the beach, or just lounging in your own backyard, Mavic Mini was made to elevate the experience.
Mavic Mini weighs under 250 grams, making it the lightest drone in the Mavic series. A lightweight, portable, and foldable design also places Mavic Mini in the lowest weight class of drones, which may exempt it from certain regulations in many countries.
The 3-axis gimbal onboard Mavic Mini provides superior stability for cinematic footage. Mavic Mini also supports 12MP aerial photos and 2.7K Quad HD videos, which helps ensure crystal-clear shots that are perfect for social media.
Lean more now at https://www.dji.com/ch/mavic-mini