Docker इमेज और लेयर की सामग्री खोजने का टूल 'Dive'
(github.com/wagoodman)Docker इमेज एक्सप्लोर करने का टूल dive
- Docker इमेज विश्लेषण:
diveकमांड और इमेज टैग/ID/digest का उपयोग करके Docker इमेज का विश्लेषण किया जा सकता है। - Docker कमांड का सीधे उपयोग:
aliasसेट करकेdiveको सीधे Docker कमांड की तरह उपयोग किया जा सकता है। - Macbook पर बिल्ड: ऐसे Macbook पर जो केवल Docker कंटेनर इंजन को सपोर्ट करते हैं,
diveका उपयोग करके इमेज बिल्ड और विश्लेषण किया जा सकता है। - CI पाइपलाइन इंटीग्रेशन:
CI=trueenvironment variable सेट करके UI के बिना इमेज विश्लेषण और space waste को न्यूनतम किया जा सकता है।
बुनियादी फीचर
- लेयर-दर-लेयर Docker इमेज की सामग्री दिखाना: चुनी गई लेयर की सामग्री और पिछली लेयर के साथ जुड़ी सामग्री को दाईं ओर देखा जा सकता है।
- हर लेयर में बदली गई सामग्री दिखाना: file tree में बदली गई, संशोधित, जोड़ी गई या हटाई गई फाइलें दिखाई जाती हैं।
- "इमेज efficiency" का अनुमान: इमेज में शामिल व्यर्थ space की मात्रा का अनुमान लगाकर efficiency score और wasted file space दिखाता है।
- तेज़ build/analysis cycle:
dive build -t some-tag .कमांड से Docker इमेज बिल्ड करने के तुरंत बाद उसका विश्लेषण किया जा सकता है। - विभिन्न इमेज source और कंटेनर इंजन सपोर्ट:
--sourceविकल्प से यह चुना जा सकता है कि कंटेनर इमेज कहाँ से लानी है।
इंस्टॉलेशन के तरीके
- Ubuntu/Debian:
curlऔरaptका उपयोग करकेdiveइंस्टॉल करें। - RHEL/Centos:
curlऔरrpmका उपयोग करकेdiveइंस्टॉल करें। - Arch Linux:
pacmanके माध्यम से इंस्टॉल किया जा सकता है। - Mac: Homebrew या MacPorts का उपयोग करें, या release page से Darwin build डाउनलोड करें।
- Windows: नवीनतम release डाउनलोड करें।
- Go tools: Go वर्ज़न 1.10 या उससे ऊपर आवश्यक है,
go getसे इंस्टॉल करें। - Nix/NixOS:
nix-envका उपयोग करके इंस्टॉल करें। - Docker:
docker pullसे इमेज लाएँ और Docker socket file शामिल करके चलाएँ।
CI इंटीग्रेशन
- environment variable
CI=trueसेट करना: UI के बिना Docker इमेज का विश्लेषण किया जा सकता है और pass/fail स्थिति return code से दिखाई जाती है। .dive-ciफाइल के जरिए नियम सेट करना: efficiency, wasted space की मात्रा और अनुपात के आधार पर pass/fail मानदंड सेट किए जा सकते हैं।
key binding
- विभिन्न key binding के जरिए UI के भीतर लेयर और file tree view को नियंत्रित किया जा सकता है।
UI सेटिंग
- config file के माध्यम से विभिन्न विकल्पों को customize करके
diveके व्यवहार को बदला जा सकता है।
GN⁺ की राय
- महत्व:
diveDocker इमेज के आकार को optimize करने और waste कम करने के लिए बेहद उपयोगी टूल है। यह cloud infrastructure cost कम करने और resource management को अधिक efficient बनाने में मदद कर सकता है। - दिलचस्पी: Docker इमेज की हर लेयर का बारीकी से विश्लेषण करना और बदलावों को visual रूप में देख पाना, developers और system administrators दोनों के लिए बहुत दिलचस्प फीचर है।
- उपयोगिता:
diveको CI/CD पाइपलाइन में इंटीग्रेट करके automated image analysis के माध्यम से लगातार quality management और efficiency improvement हासिल किया जा सकता है।
1 टिप्पणियां
Hacker News की राय
Crane और go-containerregistry लाइब्रेरी
Dive की उपयोगिता
Dive की छिपी हुई खासियत
GoLang इस्तेमाल करने के कारण पर सवाल
Dive की व्यावहारिकता
Google का container-diff टूल
अन्य शानदार TUI terminal tools
Docker tar archive क्यों इस्तेमाल करता है
Dive का शानदार प्रभाव