Alat eksplorasi isi image dan layer Docker, 'Dive'
(github.com/wagoodman)Alat eksplorasi image Docker dive
- Analisis image Docker: Dapat menganalisis image Docker menggunakan perintah
diveserta tag/ID/digest image. - Langsung menggunakan perintah Docker: Dengan mengatur
alias,divedapat digunakan langsung sebagai perintah Docker. - Build di Macbook: Pada Macbook yang hanya mendukung Docker container engine, image dapat dibangun dan dianalisis menggunakan
dive. - Integrasi pipeline CI: Dengan menetapkan variabel lingkungan
CI=true, image dapat dianalisis tanpa UI dan pemborosan ruang dapat diminimalkan.
Fitur dasar
- Menampilkan isi image Docker per layer: Isi layer yang dipilih dan gabungan isi dari layer sebelumnya dapat dilihat di sisi kanan.
- Menampilkan perubahan pada tiap layer: Di pohon file, file yang diubah, dimodifikasi, ditambahkan, atau dihapus akan ditampilkan.
- Perkiraan "efisiensi image": Memperkirakan jumlah ruang terbuang yang terkandung dalam image, lalu memberikan skor efisiensi dan ukuran ruang file yang terbuang.
- Siklus build/analisis yang cepat: Dengan perintah
dive build -t some-tag ., image Docker dapat langsung dianalisis setelah dibangun. - Mendukung berbagai sumber image dan container engine: Melalui opsi
--source, dapat dipilih dari mana image container akan diambil.
Cara instalasi
- Ubuntu/Debian: Instal
divemenggunakancurldanapt. - RHEL/Centos: Instal
divemenggunakancurldanrpm. - Arch Linux: Dapat diinstal melalui
pacman. - Mac: Gunakan Homebrew atau MacPorts, atau unduh build Darwin dari halaman rilis.
- Windows: Unduh rilis terbaru.
- Go tools: Memerlukan Go versi 1.10 atau lebih baru, instal dengan
go get. - Nix/NixOS: Gunakan
nix-envuntuk instalasi. - Docker: Ambil image dengan
docker pull, lalu jalankan dengan menyertakan file socket Docker.
Integrasi CI
- Menetapkan variabel lingkungan
CI=true: Menganalisis image Docker tanpa UI dan menampilkan lulus/gagal melalui return code. - Mengatur aturan melalui file
.dive-ci: Dapat menetapkan kriteria lulus/gagal berdasarkan efisiensi, jumlah ruang terbuang, dan persentasenya.
Key binding
- Berbagai key binding memungkinkan pengoperasian tampilan layer dan file tree di dalam UI.
Pengaturan UI
- Melalui file konfigurasi, berbagai opsi dapat disesuaikan untuk mengubah perilaku
dive.
Opini GN⁺
- Pentingnya:
diveadalah alat yang sangat berguna untuk mengoptimalkan ukuran image Docker dan mengurangi pemborosan. Ini dapat membantu menekan biaya infrastruktur cloud dan mendukung pengelolaan sumber daya yang efisien. - Menarik: Kemampuan menganalisis setiap layer image Docker secara rinci dan memeriksa perubahan secara visual merupakan fitur yang sangat menarik bagi developer dan administrator sistem.
- Bermanfaat: Dengan mengintegrasikan
diveke pipeline CI/CD, analisis image otomatis dapat membantu menjaga kualitas secara berkelanjutan dan meningkatkan efisiensi.
1 komentar
Komentar Hacker News
Crane dan pustaka go-containerregistry
Kegunaan Dive
Fitur tersembunyi Dive
Pertanyaan tentang alasan penggunaan GoLang
Kepraktisan Dive
Alat container-diff dari Google
Alat terminal TUI hebat lainnya
Alasan Docker menggunakan arsip tar
Efek mengejutkan Dive