Inilah cara mendapatkan pengalaman Docker terbaik di Windows.
Subsistem Windows untuk Linux 2 adalah alat yang fenomenal di Windows 10 dan 11, dan terintegrasi dengan Docker secara mulus. Sebagai pengembang, penting untuk memahami apa yang ditawarkan perangkat lunak ini dan bagaimana Anda dapat memaksimalkan pengaturan Docker-WSL 2 Anda.
Apa itu Docker?
Docker adalah platform sumber terbuka yang memungkinkan pengembang membangun, menyebarkan, dan menjalankan aplikasi mereka secara efisien dalam sebuah wadah. Semua dependensi digabungkan sehingga proyek Anda dapat diterapkan dengan mudah di lingkungan apa pun.
Docker sangat populer di antara banyak platform containerisasi karena dapat diandalkan, fungsional, dan sangat dapat diskalakan. Ini berjalan di mesin Docker, alat DevOps penting yang menyediakan lingkungan yang bersih dan ringan untuk pengujian dan penerapan. Docker mirip dengan mesin virtual tetapi memvirtualisasikan sistem operasi daripada perangkat keras yang mendasarinya.
Untuk pengembang perangkat lunak, Docker merampingkan alur kerja dengan membuat kontainer individual untuk berbagai layanan mikro yang menyertakan dependensi, pustaka, dan konfigurasi yang diperlukan. Setiap wadah layanan mikro diisolasi dan dapat diskalakan secara individual.
Cara Menggunakan Docker di WSL 2
Docker kompatibel dengan semua sistem operasi utama, seperti Windows, macOS, dan Linux. Jika Anda menggunakan Windows 10 atau 11, Anda dapat menggunakan Docker melalui Docker Desktop dan mengintegrasikannya dengan Subsistem Windows untuk Linux 2 untuk peningkatan kinerja. Anda dapat mengunduh Docker Desktop untuk Windows dari situs resmi Docker.
Subsistem Windows untuk Linux (WSL) adalah fitur berharga yang memungkinkan pengguna Windows menjalankan distribusi Linux seperti Ubuntu dan Kali tanpa menyiapkan mesin virtual atau dual-boot.
Ini juga berarti bahwa Pengguna Windows dapat langsung menggunakan alat baris perintah Linux, aplikasi, dan utilitas tanpa langkah instalasi tambahan. Versi WSL terbaru, WSL 2, memberikan stabilitas yang lebih baik dan kernel Linux khusus.
Karena wadah Docker kuat, Anda bahkan dapat mengonfigurasinya untuk menghosting server Anda; wadah nginx docker umumnya digunakan sebagai server web. Selain itu, Anda dapat menggunakan Docker dengan beberapa cara lain:
- Jalankan distro Linux dengan mudah
- Siapkan server web untuk tujuan pembelajaran atau pengujian
- Aplikasi penyebaran portabel
- Bundel aplikasi menjadi satu file gambar
- Pipeline CI/CD yang disederhanakan
Anda harus terbiasa dengan praktik terbaik untuk menggunakan Docker dengan Subsistem Windows untuk Linux 2, seperti yang Anda lakukan dengan platform atau alat lainnya. Sebagai pengembang, saya dapat mengatakan dari pengalaman pribadi bahwa Anda akan menjadi jauh lebih produktif dan efisien setelah Anda mengintegrasikan tip berikut ke dalam alur kerja Anda.
1. Integrasikan Kode VS dengan WSL 2
Visual Studio Code adalah IDE populer yang disukai karena fitur, komunitas, dan ekstensinya yang luar biasa. Sebagai pengembang, kemampuan untuk menggunakan Visual Studio Code untuk pengembangan aplikasi pada platform Windows sementara juga menjalankan aplikasi tersebut di kernel Linux adalah hal yang sangat menguntungkan dan hampir tidak dapat dipercaya fitur.
Saat Anda mengintegrasikan VS Code ke dalam Subsistem Windows untuk Linux, Anda dapat memanfaatkan kernel Linux khususnya untuk meningkatkan kompatibilitas lintas platform. Anda dapat lebih merampingkan alur kerja Anda dengan memanfaatkan terminal terintegrasi dalam VS Code dengan WSL 2.
Ke mengatur Kode VS dengan WSL 2 di Windows, Anda dapat mengonfigurasi WSL ekstensi dari VS Code Marketplace dan mulai semuanya.
2. Manfaatkan Sistem File WSL 2
Untuk menjalankan wadah Docker Anda dengan benar, Anda harus mengandalkan sistem file distro WSL 2 Anda dan tidak terlalu bergantung pada sistem file Windows asli. Sepanjang pengalaman saya bekerja dengan wadah Docker di WSL 2, saya menemukan bahwa lebih baik menyimpan file proyek Anda di dalam WSL.
3. Gunakan Skrip Linux Asli
Banyak proyek dalam container yang akan Anda kerjakan mungkin dilengkapi dengan skrip untuk otomatisasi di Linux. Biasanya, skrip ini pertama kali dikembangkan untuk Linux, dan pengembang Windows bukanlah prioritas.
Dengan WSL 2, seluruh tim Anda dapat menggunakan skrip otomatisasi Linux yang sama, dan Anda tidak perlu khawatir mempertahankan skrip otomatisasi yang kompatibel dengan Windows untuk tim Anda.
4. Konfigurasikan BuildKit untuk Peningkatan Keamanan dan Performa
BuildKit adalah perangkat sumber terbuka yang meningkatkan proses pembangunan Docker tradisional dalam hal kinerja dan keamanan; itu terintegrasi langsung dengan Docker, jadi Anda tidak perlu menginstalnya secara terpisah.
Saat Anda mengaktifkan BuildKit secara default, Anda memastikan bahwa wadah Anda dibuat dengan toolkit BuildKit, memberi Anda keamanan, konkurensi, fleksibilitas, dan caching yang lebih baik.
Untuk mengaktifkan BuildKit secara default, Anda harus melakukan perubahan berikut pada file konfigurasi ~/.profile :
ekspor DOCKER_BUILDKIT=1.
5. Atur Batas Sumber Daya
Saat Anda mengintegrasikan backend WSL 2 dengan Docker Desktop, Anda memberi Docker akses ke semua sumber daya CPU Anda. Melakukan hal itu membantu meningkatkan kinerja untuk penampung yang banyak menggunakan sumber daya.
Namun, dalam beberapa kasus, wadah mungkin mengalokasikan banyak memori berlebih, menyebabkan proses OS yang penting macet. Anda lebih mungkin mengalami hal ini saat menggunakan wadah database atau layanan mikro caching.
Untungnya, Anda dapat mengonfigurasi wadah Docker untuk membatasi memori sistem dan penggunaan CPU. Anda harus selalu berhati-hati saat mengonfigurasi memori sistem, bahkan kesalahan kecil pun dapat menimbulkan konsekuensi yang signifikan. Anda dapat merujuk ke dokumentasi Docker resmi untuk panduan yang lebih mendetail tentang membatasi memori dan sumber daya CPU yang digunakan oleh container Docker.
6. Pulihkan Memori Tembolok
Jika Anda menjalankan wadah Docker di WSL 2, memorinya harus dibebaskan setelah wadah berakhir. Sayangnya, kernel sistem operasi cenderung menyimpan data di cache; ini berarti memori efektif yang diambil kembali oleh WSL 2 tidak akan cukup.
Anda dapat memulihkan semua memori yang tidak perlu digunakan sebagai cache dengan menjalankan perintah berikut melalui root di WSL 2:
gema 1 > /proc/sys/vm/drop_caches
Dapatkan Lebih Cerdas Dengan WSL 2
WSL 2 adalah fitur terbaik untuk pengembang berbasis Windows, benar-benar mengubah cara pengembang menggunakan Docker. Pengembang harus memahami praktik terbaik untuk menggunakan Docker dengan WSL guna meningkatkan kinerja, keamanan, dan fleksibilitas alur kerja.