12 alat sumber terbuka yang membuat Docker lebih baik

Berkedip dan Anda mungkin melewatkan beberapa perkembangan paling menarik di sekitar Docker hari ini. Kubernetes mungkin mendapatkan lebih banyak fitur baru yang keren, tetapi Docker terus menawarkan orkestrasi container yang "cukup" untuk sebagian besar proyek pengembangan dan penerapan.

Ditambah Docker memiliki ekosistem alat pihak ketiga yang kaya yang memperluas Docker, meramaikannya, atau membuatnya kurang persnickety. Berikut adalah 12 kreasi open-source yang mendapatkan dorongan dari Docker atau memberi Docker dorongan, memanfaatkan Docker untuk kasus penggunaan tertentu atau membuat Docker lebih mudah untuk digunakan.

Menyelam

Gambar Docker seperti sandwich, dengan banyak lapisan. Mungkin lebih baik mengatakannya seperti sandwich dalam bungkus buram: Anda tidak selalu tahu berapa banyak lapisan yang ada, atau apa yang ada di dalamnya. Menyelam memungkinkan Anda menjelajahi lapisan secara visual dalam gambar Docker melalui UI interaktif. Anda dapat melihat bahan-bahan apa saja yang ada di setiap lapisan, dan juga menentukan bagaimana setiap lapisan telah mengubah lapisan di bawahnya (apa yang telah ditambahkan atau dihilangkan). Anda juga dapat menganalisis gambar untuk ruang yang terbuang atau terduplikasi, dan bahkan meneruskan hasilnya ke pipeline integrasi berkelanjutan Anda, sehingga gambar dengan terlalu banyak ruang yang terbuang gagal dalam proses pembuatan.

Docker Compose UI

Docker Compose UI adalah proyek berlisensi MIT yang menyediakan Docker Compose dengan UI berbasis web, yang dibangun menggunakan kerangka kerja Flask Python. Container dapat dijalankan secara lokal atau pada host jarak jauh, dan Docker Compose UI sendiri tersedia dalam container Docker untuk kenyamanan. Perhatikan bahwa beberapa proyek demo yang disediakan dengan Docker Compose UI tidak dapat diskalakan "karena konflik port yang dipublikasikan".

Dockly

Sebagian besar pekerjaan Docker dilakukan melalui CLI atau antarmuka terminal, dan CLI Docker default terlihat hampir sama dengan program CLI lainnya. Dockly menyediakan antarmuka terminal layar penuh untuk Docker — dasbor mode teks dari semua kontainer yang berjalan, tampilan langsung log kontainer dan statistik pemanfaatan, dan tab shell bawaan. 

Berdebu

Lingkungan pengembangan yang didukung oleh Docker, berlisensi MIT, Dusty dimaksudkan untuk meningkatkan penggunaan Docker Compose atau Vagrant untuk mengelola kontainer. Pengembang di balik klaim Dusty, misalnya, bahwa Dusty memiliki model spesifikasi yang lebih sederhana daripada Docker Compose, dan menangani isolasi dependensi aplikasi berbasis versi dan pembaruan layanan dengan lebih baik daripada Vagrant. Dusty juga memungkinkan pengujian dibuat sebagai bagian dari spesifikasi untuk lingkungan, dan memungkinkan prosedur multi-langkah umum dibuat menjadi skrip yang mudah dipanggil.

Elsy

Elsy dideskripsikan sebagai "alat build-tool multi-bahasa," menggunakan Docker dan Docker Compose. Elsy memungkinkan repositori perangkat lunak dibangun secara konsisten di seluruh lingkungan, dan menjaga perkakas yang diperlukan untuk melakukan pembangunan seminimal mungkin, tidak peduli bahasa apa yang digunakan. Salah satu fitur yang dipuji  blackbox-test,, memungkinkan penampung yang dibangun diuji dengan cara yang mencerminkan penggunaan produksi aktualnya. Misalnya, setiap layanan yang membutuhkan database akan memiliki wadah database yang disiapkan untuknya, dan Elsy secara otomatis akan menghancurkan lingkungan pengujian setelahnya.

Gockerize

Ini satu untuk penggemar bahasa Go. Gockerize adalah alat berlisensi BSD untuk membangun binari Go statis dan mengemasnya ke dalam wadah Go minimal. Dibuat oleh orang-orang di belakang AeroFS, Gockerize menyertakan fitur-fitur seperti “kemampuan untuk secara otomatis menerapkan satu set tambalan ke pustaka standar Golang; sesuatu yang, meskipun sangat jarang dibutuhkan, dapat menjadi penyelamat, ”menurut postingan blog yang memperkenalkan proyek tersebut. Gockerize tidak bergantung banyak secara eksternal — hanya Go, Docker 1.5 atau lebih tinggi, dan shell Bash.

Habitus

Alat build berbasis Docker lainnya, Habitus menggunakan Dockerfile dan file build.yml untuk membuat build container multi-langkah yang berisi sejumlah perintah arbitrer. Setiap langkah dalam build dapat dibuat dengan mengandalkan beberapa langkah sebelumnya, untuk memastikan bahwa dependensi multi-langkah yang rumit bekerja dengan benar. Habitus juga mendukung penyertaan rahasia dalam proses pembangunan, dan melakukannya tanpa meninggalkan jejak pada gambar.

Hiper

Ditagih sebagai "alat hypervisor-agnostik yang memungkinkan Anda menjalankan image Docker pada hypervisor apa pun," Hyper menggunakan Docker, QEMU, dan Xen untuk mencapai tujuannya. Pembuat alat tersebut mengklaim bahwa Hyper menggunakan sumber daya minimal (28MB), melakukan booting dengan kecepatan container daripada VM, memberikan kinerja tinggi, dan menyediakan isolasi yang didukung perangkat keras untuk aplikasi. Salah satu kasus penggunaan yang diusulkan untuk Hyper adalah membuat aplikasi multi-tenant, berbasis Docker.

Kitematik

Terkadang Anda hanya menginginkan GUI. Kitematic memberi Anda GUI untuk mengelola wadah Docker di MacOS, Ubuntu Linux, dan Windows. Kenyamanan Kitematic tambahan termasuk secara otomatis mengekspos data volume kontainer melalui sistem file, menyediakan CLI bawaan ke Docker, dan secara otomatis menyinkronkan statusnya untuk menyesuaikan perubahan ke Docker (misalnya, ketika Anda menambahkan gambar kontainer baru).

Logspout

Dunia Unix memiliki tradisi panjang dalam menggabungkan program kecil untuk memecahkan masalah besar. Logspout menerapkan filosofi yang sama untuk mengelola log dari kontainer Docker. Logspout menyalurkan semua log ( stdout dan  stderr, terutama) dari semua container pada host tertentu ke target mana pun yang Anda anggap terbaik. Log gabungan yang dihasilkan dapat dilihat secara real time hanya dengan membaca aliran HTTP.

Portainer

Bahkan tumpukan Docker yang relatif sederhana dapat memiliki banyak bagian yang bergerak: kontainer, gambar, jaringan, volume, rahasia. Melacak semua yang ada di kepala Anda bukanlah solusi. Portainer menyediakan UI web untuk lingkungan Docker, baik itu host tunggal atau cluster, menyediakan tampilan satu panel dari semua yang Anda jalankan. Manajemen dan gambaran umum untuk semua komponen Docker umum tidak lebih dari beberapa klik saja. Yang terbaik dari semuanya, semuanya diterapkan di infrastruktur Docker Anda yang ada sebagai satu wadah.

Ikan paus

Pengguna MacOS harus terbiasa dengan Homebrew, sistem manajemen paket ad hoc untuk MacOS. Whalebrew memungkinkan Anda menginstal image Docker dan menjalankannya langsung dari baris perintah melalui alias, seolah-olah image tersebut adalah executable yang diinstal secara lokal. Menginstal paket semudah mengetik whalebrew install . Paket yang dikurasi melalui repositori Whalebrew bekerja paling baik, tetapi secara teoritis semua image Docker yang menggunakan perintah CLI seharusnya berfungsi.