Docker Engine mendukung sistem plugin yang memungkinkan Anda menambahkan fungsionalitas tambahan ke runtime container. Plugin untuk driver penyimpanan baru, tumpukan jaringan, dan sistem logging tersedia secara gratis.
Versi modern dari Docker Engine mencakup semua yang Anda butuhkan untuk mengelola plugin di dalam CLI. Kami fokus pada sistem plugin “terkelola” ini dalam panduan ini. Anda harus menginstal dan memelihara plugin yang menggunakan sistem plugin lama secara manual.
Semua Tentang Plugin
Plugin memperluas Mesin Docker dengan kemampuan baru yang terlalu spesifik untuk dikirimkan dengan instalasi umum. Anda biasanya tidak berinteraksi dengan plugin secara langsung. Setelah plugin diinstal, Anda dapat merujuk ke sumber daya yang disediakannya saat menjalankan perintah Docker yang ada.
Ada tiga jenis utama plugin:
- Masuk – Plugin ini menambahkan driver logging baru, memungkinkan Anda untuk menyimpan log di lokasi di luar Docker Engine dan mesin host Anda.
- Jaringan – Plugin jaringan dapat menambahkan dukungan untuk jenis jaringan baru dan fungsionalitas terkait.
- Kuantitas – Plugin penyimpanan membawa sistem file dan driver volume tambahan ke Docker, memberi Anda lebih banyak opsi untuk data persisten.
Plugin dengan fitur di luar area inti ini juga tersedia. Plugin dibuat oleh vendor komunitas; Anda dapat menulis sendiri menggunakan API plugin publik dan Go SDK.
Plugin didistribusikan melalui Docker Hub. Anda dapat menemukan plugin yang tersedia dengan membuka halaman Jelajahi dan pilih tab Plugin di bagian atas. Lebih dari 600 plugin saat ini tersedia.

Jika Anda menulis plugin Anda sendiri, Anda dapat mengirimkannya ke Docker Hub menggunakan docker plugin push memesan Ini berfungsi sama seperti mendorong gambar ke registri publik. Anda harus lari docker plugin create pertama-tama ubah manifes plugin dan sistem file Anda menjadi paket yang siap dikirim. Anda dapat menemukan informasi lebih lanjut tentang pembuatan plugin di dokumen Docker.
Instalasi Plugin
Plugin dipasang di docker plugin install memesan Ia menerima nama plugin Docker Hub sebagai argumennya:
docker plugin install store/example/example-plugin:version
Referensi plugin terlihat seperti referensi gambar yang dimulai dengan store/. Prinsip pemberian tag yang sama berlaku saat menentukan versi plugin yang akan dipasang. Tidak seperti gambar, Anda tidak dapat menghapus versi untuk secara otomatis menarik latest tag

Anda dapat menemukan nomor versi plugin dan menyalin perintah penginstalan yang siap dijalankan dengan mengklik tombol “Petunjuk Pengaturan” di halaman Docker Hub-nya. Plugin gratis akan memungkinkan Anda untuk melanjutkan ke layar baru dengan kotak salin dan tempel biasa di kanan atas. Jalankan perintah di terminal Anda untuk mulai menginstal plugin.

Plugin biasanya meminta akses ke hak istimewa host agar mereka dapat menyediakan fungsionalitasnya. Sebagai contoh, plugin jaringan harus memiliki akses ke Docker’s host jaringan sehingga dapat menghubungkan sumber daya baru. Terima permintaan izin dengan mengetik y dan tekan enter untuk menyelesaikan instalasi. Anda dapat melewati perintah dengan menambahkan --grant-all-permissions bendera di install memesan; ini bagus untuk instalasi non-interaktif tetapi berisiko otorisasi yang tidak disengaja jika plugin diperbarui dengan kemampuan baru.

Plugin diaktifkan secara otomatis setelah instalasi. Mengaktifkan plugin memungkinkan eksekusi skrip pra-instal. Menggunakan --disable tandai ke default plugin ke status dinonaktifkan, biarkan tidak aktif hingga diaktifkan secara manual nanti.
Melihat Detail Plugin
Setelah diinstal, plugin Anda akan muncul saat dijalankan docker plugin ls:
docker plugin ls

Informasi lebih rinci tentang plugin dapat diperoleh dari docker inspect memesan Ia menerima ID atau tag plugin dan menampilkan JSON verbose yang menjelaskan manifes plugin:
docker inspect eccffc

Instalasi Offline
Docker CLI tidak memiliki cara bawaan untuk menginstal plugin saat offline. Namun, Anda dapat menambahkan plugin ke instalasi Docker dengan celah udara dengan menginstalnya terlebih dahulu di klien jaringan, lalu menyalin file plugin ke sistem offline.

Anda dapat melihat plugin yang diinstal di dalam /var/lib/docker/plugins direktori di host Anda. Setiap plugin mendapatkan sub-direktori sendiri yang dinamai dengan ID-nya. ID ini dapat dilihat pada output dari docker plugin ls memesan
Mengaktifkan dan Menonaktifkan Plugin
Plugin dapat diaktifkan atau dinonaktifkan. Anda dapat melihat status saat ini di kolom terakhir ls keluaran. Plugin yang dinonaktifkan tidak dapat dimuat sehingga berperilaku seolah-olah tidak diinstal.
Menggunakan docker plugin enable dan docker plugin disable perintah untuk mengubah status plugin. Berikan ID salah satu plugin yang Anda instal sebagai satu-satunya argumen perintah:
docker plugin enable eccffc
Anda mungkin dicegah untuk menonaktifkan plugin jika plugin tersebut digunakan secara aktif oleh konfigurasi Docker Engine atau salah satu container Anda. Menambahkan -f flag akan memaksa plugin untuk dinonaktifkan tetapi harus digunakan dengan hemat karena Anda berisiko keluar dari wadah secara tidak sengaja.
Plugin dihapus menggunakan docker plugin rm memesan Berikan ID atau nama plugin untuk menghapusnya sepenuhnya dari Docker. rm memiliki perilaku yang sama dengan disable saat menangani plugin yang digunakan secara aktif dan kemudian dihapus secara paksa.
Mengubah Pengaturan Plugin
Sistem plugin Docker mencakup mekanisme terintegrasi untuk pembuat plugin untuk mengekspos pengaturan yang dapat disesuaikan. Sebagai pengguna, Anda dapat mengubah pengaturan ini dengan docker plugin set memerintah:
docker plugin set example-plugin setting-key=new-value
Mengganti example-plugin dengan ID atau nama plugin yang Anda targetkan. Nilai plugin setting-key pengaturan akan diperbarui ke new-value.

Pengaturan yang tersedia secara alami bervariasi dari satu plugin ke plugin lainnya. Ini harus didokumentasikan dalam deskripsi plugin di Docker Hub. CLI Docker tidak memiliki perintah bawaan untuk melihat semua pengaturan yang tersedia untuk sebuah plugin tetapi mereka muncul di docker plugin inspect keluaran. Temukan Settings bidang dalam representasi JSON dari sebuah plugin; itu akan berisi objek dengan Name dan Settable untuk opsi yang dapat Anda ubah melalui CLI.
Memperbarui Plugin Anda
Plugin diperbarui dengan docker plugin update memesan Seperti perintah lainnya, ini membutuhkan ID plugin atau tag sebagai argumen.
Memutakhirkan plugin akan mengunduh dan menginstal versi terbaru yang tersedia di Docker Hub. Jika Anda sudah menggunakan rilis terbaru, perintah akan menginstal ulang versi saat ini. Anda akan diminta untuk memberikan plugin hak istimewa baru yang dibutuhkan. Itu --grant-all-permissions flag diterima untuk melewati prompt di lingkungan di mana input interaktif tidak memungkinkan.
Tidak ada cara untuk memperbarui semua plugin di sistem Anda dengan satu perintah. Yang terbaik adalah berlangganan untuk merilis pengumuman dari vendor plugin Anda, kemudian menerapkan pembaruan pada instalasi Anda saat tersedia. Ini akan memastikan bahwa plugin Anda tetap aman dan didukung.
Ringkasan
Ekosistem plugin Docker memungkinkan Anda menambahkan fungsionalitas tambahan ke Docker Engine. Plugin ada di Docker Hub dan dapat diinstal dari terminal Anda. CLI menyertakan pemutakhiran plugin tetapi hanya berfungsi dengan satu plugin pada satu waktu, bukan seluruh katalog Anda.
Sekarang setelah Anda mengetahui cara menggunakan dan mengelola plugin, Anda dapat mulai menjelajahi Docker Hub untuk menemukan opsi guna meningkatkan alur kerja Anda. Plugin Elastic Logging mengalirkan log kontainer Docker ke kluster tumpukan Elastis, vSphere for Docker memungkinkan Anda menggunakan penyimpanan VMWare vSphere untuk volume persisten Anda, dan Weave Net menghadirkan jaringan terenkripsi berkemampuan multicast di Docker. Jika Anda tidak melihat apa yang Anda butuhkan, gunakan API plugin untuk mencoba menulis solusi Anda sendiri yang dapat Anda publikasikan ke komunitas yang lebih luas melalui Hub.

