Nerdctl: Alat baris perintah containerd yang kompatibel dengan Docker

Berikut Nerdctl: Alat baris perintah containerd yang kompatibel dengan Docker
Yang terbaru kami bagikan untuk anda. Dapatkan informasi Keamanan Terbaru hanya di @iwanrj.com.

Sebagian besar tahu dan menggunakan alat baris perintah Docker yang bekerja dengan kontainer Docker. Namun, mari kita kenali alat defacto yang bekerja dengan wadah containerd, nerdctl, cli kompatibel buruh pelabuhan yang tangguh. Nerdctl bekerja bersama-sama dengan containerd, berfungsi sebagai cli yang kompatibel untuk containerd dan menawarkan dukungan untuk banyak perintah docker cli. Ini menjadikannya opsi yang layak saat ingin mengganti Docker dalam banyak skenario. Misalnya, perintah docker sederhana untuk membuat daftar kontainer, buruh pelabuhan psditerjemahkan langsung menjadi nerdctl ps di nerdctl.

Apa itu Nerdctl?

Nerdctl adalah antarmuka baris perintah (CLI) yang dirancang untuk menjadi a cli yang kompatibel dengan buruh pelabuhan untuk containerd, runtime kontainer sumber terbuka yang banyak digunakan. Ini berfungsi sebagai jembatan antara pengguna dan fungsionalitas containerd, menyediakan antarmuka yang akrab dan intuitif yang diketahui banyak pengembang melalui pengalaman mereka dengan Docker.

Nama “nerdctl” adalah permainan kata-kata, yang berasal dari “kontrol kutu buku”. Tujuan utamanya adalah membuat interaksi dengan containerd semudah dan seintuitif mungkin bagi pengembang, profesional TI, dan penghobi.

Desainnya berpusat pada menjaga kompatibilitas dengan Docker, sehingga sebagian besar perintah yang akan Anda gunakan di Docker dapat digunakan secara bergantian di nerdctl.

Pengiriman Aplikasi Virtual Cameyo

Kontainer tanpa root, penarikan malas, dan dukungan Docker Compose

Yang membedakannya adalah beberapa fitur uniknya, berkat containerd saat menggunakan kontainer. Ini termasuk mode tanpa akar, yang memungkinkan wadah dijalankan tanpa hak pengguna super, menambahkan lapisan keamanan ekstra untuk operasi wadah Anda.

Fitur lain yang menarik adalah “lazy interesting”, di mana hanya bagian penting dari gambar container yang ditarik saat Anda menjalankan container, sehingga penggunaan sumber daya menjadi lebih efisien dan waktu mulai yang lebih cepat.

Ini juga termasuk dukungan untuk Docker Compose melalui perintah nerdctl compose, yang membuatnya lebih mudah untuk mendefinisikan dan menjalankan aplikasi Docker multi-kontainer.

Kompatibilitas ini merupakan keuntungan yang signifikan bagi tim yang bertransisi dari Docker, karena memungkinkan mereka untuk terus menggunakan file Docker Compose yang sudah ada tanpa modifikasi apa pun.

Selain itu, ini mendukung gambar wadah terenkripsi, fitur keamanan tambahan yang memastikan gambar Anda aman selama transfer dan penyimpanan. Ini juga kompatibel dengan berbagai distribusi Linux dan mendukung berbagai plug-in, memberikan fleksibilitas dalam lingkungan operasi yang berbeda.

Intinya begini – jika Anda menginstal containerd, ini adalah alat de facto yang harus Anda gunakan.

Menyiapkan Nerdctl

Untuk memasukkan nerdctl ke dalam sistem Anda, Anda harus terlebih dahulu menginstal nerdctl bersama dengan containerd. Proses instalasi mungkin berbeda tergantung pada sistem host Anda, seperti server Ubuntu. Itu membutuhkan hak sudo.

Anda dapat mengunduh alat ini dari repo Github rilis halaman di sini: Rilis · containerd/nerdctl (github.com).

Unduh nerdctl yang dapat dieksekusi dari repositori Github
Unduh nerdctl yang dapat dieksekusi dari repositori Github
wget https://github.com/containerd/nerdctl/releases/download/v1.4.0/nerdctl-1.4.0-linux-amd64.tar.gz

Ini akan menurunkan paket arsip. Anda perlu meng-unzip file menggunakan:

tar -xzf nerdctl-1.4.0-linux-amd64.tar.gz

Setelah membongkar file yang diunduh, Anda dapat menambahkan nerdctl ke direktori lokal yang dapat dieksekusi menggunakan:

sudo mv ./nerdctl /usr/local/bin

Anda kemudian dapat menjalankan nerdctl:

Alat Nerdctl berjalan di Server Ubuntu
Alat Nerdctl berjalan di Server Ubuntu

Di bawah ini adalah tampilan menjalankan alat di lingkungan Windows.

Alat baris perintah Nerdctl berjalan di Windows
Alat baris perintah Nerdctl berjalan di Windows

Nerdctl Vs. Docker Desktop dan Rancher Desktop

Docker Desktop, Nerdctl, dan Rancher Desktop semuanya adalah alat yang tangguh dalam bidang manajemen kontainer. Mereka semua mendukung file penulisan buruh pelabuhan, sehingga memungkinkan menjalankan wadah buruh pelabuhan. File penulisan buruh pelabuhan dapat dijalankan menggunakan nerdctl menyusunseperti yang akan Anda lakukan dengan Docker.

Rancher Desktop menyertakan nerdctl untuk berinteraksi dengan containerd
Rancher Desktop menyertakan nerdctl untuk berinteraksi dengan containerd

Nerdctl Compose: Alternatif Docker Compose

Penulisan Nerdctl menawarkan kemampuan untuk menerapkan wadah yang mirip dengan penulisan buruh pelabuhan. Kompatibilitas ini disorot saat Anda menggunakan perintah seperti nerdctl menyusun -d untuk memulai semua layanan yang ditentukan dalam file penulisan buruh pelabuhan dalam mode terpisah.

Bekerja dengan Gambar dan Kontainer

Bekerja dengan gambar kontainer adalah aspek lain di mana nerdctl bekerja dengan sangat baik. Perintah Nerdctl, seperti berikut untuk menarik gambar dari registri kontainer:

nerdctl pull nginx

Anda juga dapat menggunakan yang berikut ini untuk menjalankan wadah nginx dengan port forwarding, perintah mirror docker cli, menambah kompatibilitasnya:

nerdctl run -d -p 8080:80 nginx 
Menarik gambar wadah dan menjalankan gambar dengan nerdctl 1
Menarik gambar wadah dan menjalankan gambar dengan nerdctl

Persis seperti yang Anda harapkan dengan baris perintah Docker, Anda dapat mengeluarkan nerdctl ps perintah untuk melihat wadah yang sedang berjalan.

Mendapatkan wadah dengan nerdctl
Mendapatkan wadah dengan nerdctl

Fitur Tepi Nerdctl: Mode Tanpa Root dan Lazy Pulling

Mode tanpa akar, sebuah fitur yang memungkinkan Anda menjalankan wadah tanpa hak istimewa sudo, dan penarikan malas, yang hanya menarik bagian yang diperlukan dari gambar wadah saat menjalankan wadah, adalah fitur unik untuk nerdctl. Misalnya, Anda dapat menggunakan mode tanpa akar:

 nerdctl --rootless run

Transisi dari Docker

Transisi dari Docker ke nerdctl difasilitasi oleh kemiripan perintah nerdctl dengan perintah docker cli. Seperti yang ditunjukkan di atas, perintah nerdctl run -d -p 8080:80 nginxdigunakan untuk menyebarkan wadah nginx, sangat mirip dengan perintah Docker yang sesuai.

Itu membuat transisi ke persamaan nerdctl sangat mudah dan mulus karena “memori otot” pada dasarnya sama.

Pertanyaan yang Sering Diajukan tentang Nerdctl

1. Bagaimana dukungan untuk Docker Compose menambah nilai bagi developer?

Salah satu kekuatan utamanya adalah dukungannya untuk Docker Compose melalui perintah nerdctl compose. Jika pengembang memiliki file Docker Compose yang ada dari proyek mereka, mereka dapat dengan mulus bertransisi untuk menggunakannya tanpa perlu menulis ulang atau menyesuaikan file ini. Ini menghemat waktu secara signifikan dan mengurangi kurva pembelajaran saat mengadopsinya sebagai alat baru.

2. Bisakah saya menggunakannya di pengaturan Docker Desktop yang sudah ada?

Ya, itu bisa digunakan bersama Docker Desktop. Namun, perbandingan yang lebih langsung adalah antara nerdctl dan Docker CLI, karena keduanya merupakan antarmuka baris perintah untuk pengelolaan wadah. Jika Anda sudah menggunakan Docker Desktop, Anda mungkin juga ingin menjelajahi Rancher Desktop, yang menawarkan dukungan terintegrasi untuk containerd dan Kubernetes.

3. Apa artinya mendukung menjalankan gambar terenkripsi?

Menjalankan gambar terenkripsi adalah fitur keamanan unik yang ditawarkan. Artinya, gambar kontainer dienkripsi saat diam dan selama transfer, melindungi data sensitif. Ini adalah fitur hebat untuk lingkungan di mana privasi dan keamanan data sangat penting.

4. Apakah ada perbedaan performa antara Docker dan nerdctl?

Sementara kinerja nerdctl dan Docker sangat bergantung pada kasus penggunaan tertentu, fitur penarikan malasnya dapat menawarkan peningkatan kinerja yang signifikan dalam skenario tertentu. Lazy Pulling hanya menarik bagian penting dari gambar container, yang dapat mempercepat waktu mulai dan penggunaan sumber daya yang lebih efisien.

5. Kenapa dikatakan nerdctl dalam ‘rootless mode’?

Menjalankannya dalam mode tanpa akar berarti wadah dapat dijalankan tanpa hak superuser atau sudo. Ini adalah keuntungan keamanan yang penting karena meminimalkan potensi kerusakan jika terjadi penembusan kontainer.

6. Bagaimana cara menangani penerusan port untuk menjalankan kontainer?

Ini menangani penerusan port mirip dengan Docker. Misalnya perintah nerdctl run -d -p 8080:80 nginx menjalankan container nginx dan memetakan port host 8080 ke port container 80. Hal ini membuat layanan container dapat diakses dari sistem host di port 8080.

7. Apakah menginstal nerdctl dan containerd merupakan proses yang rumit?

Meskipun ada beberapa langkah lagi dibandingkan dengan menginstal Docker, prosesnya sangat mudah. Anda perlu menginstal containerd, diikuti dengan nerdctl. Untuk sistem Linux, ini biasanya melibatkan pengunduhan paket rilis dari repositori GitHub menggunakan wget, membongkar paket, dan memasang biner.

8. Apa yang menjadikan nerdctl sebagai alat ‘canggih’ dalam manajemen kontainer?

Ini membawa fitur unik dari containerd seperti penarikan malas, dukungan untuk menjalankan gambar terenkripsi, dan mode tanpa root untuk pengguna dalam antarmuka baris perintah yang sudah dikenal. Selain itu, ia menawarkan kompatibilitas Docker, memungkinkan pengembang memanfaatkan pengetahuan mereka yang ada dan file Docker Compose. Keseimbangan fitur baru dan keakraban ini memposisikannya sebagai alat canggih dalam bidang manajemen kontainer.

Masa Depan Manajemen Kontainer dengan Nerdctl

Nerdctl berfungsi sebagai lompatan maju yang signifikan dalam manajemen kontainer. Menyeimbangkan kompatibilitas Docker dengan fitur-fitur inovatif containerd, ia menawarkan solusi yang efisien, aman, dan efisien untuk mengelola dan menerapkan kontainer.

Dengan dukungannya untuk file Docker Compose dan fitur-fitur canggih seperti penarikan malas, mode tanpa akar, dan menjalankan gambar terenkripsi, ini berdiri sebagai alat yang kuat dan tahan masa depan di ranah kontainerisasi. Apakah mengganti Docker atau sekadar memperluas kotak alat Anda, merangkul nerdctl membuka jalur yang menjanjikan menuju pengelolaan kontainer yang ditingkatkan.

Avatar of Iwan N
I'm A Web Developer