Cara Install Docker Windows

Dikesempatan kali ini saya akan mencoba mencontohkan cara install docker di windows. Disini saya tidak menjelaskan secara detail apa itu docker dan fungsi docker. Hanya mencontohkan cara install, system requirement dan URL download pada salah satu system operasi selain Linux yaitu Microsoft Windows.

System Requirement

Sebelum memulai pastikan Windows Anda harus memenuhi persyaratan berikut agar dapat menginstal Docker Desktop. Docker Windows dapat berjalan menggunakan 2 backend yang berbeda, yaitu WSL 2 dan Hyper-V. Tapi disini saya akan membahas menggunakan backend WSL 2, karena Hyper-V kabarnya mau di suntik mati di OS Windows.

  • Windows 11 64-bit: Home atau Pro version 21H2 atau yang lebih tinggi, Enterprise, Education version 21H2 atau yang lebih tinggi.
  • Windows 10 64-bit: Home atau Pro 21H1 (build 19043) atau yang lebih tinggi, Enterprise, Education 20H2 (build 19042) atau yang lebih tinggi.
  • Fitur WSL 2 aktif di Windows Anda.
  • Minimal hardware yang diperlukan untuk menjalankan WSL 2 di Windows 10 atau Windows 11:
    • Prosessor 64Bit
    • RAM 4GB
    • BIOS-level Hardware Virtualization, aktif di BIOS komputer Anda.

Install Windows Subsystem for Linux (WSL) 2 di Windows

Instal semua yang dibutuhkan untuk menjalankan Windows Subsystem for Linux (WSL) dengan memasukkan perintah dibawah ini di (Run As Admin) PowerShell atau Windows Command Prompt dan reboot pc Anda.

wsl --install

Perintah itu akan mengaktifkan fitur yang diperlukan untuk menjalankan WSL dan menginstal distribusi linux yaitu Ubuntu. Jalankan perintah kembali “wsl -l -v” di PowerShell untuk melihat versi WSL yang sudah ter install di windows Anda.

PS C:\Windows\system32> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

Download Docker Desktop Windows

Setelah Anda melakukan perintah diatas, Download Installer Docker Desktop pada link di bawah ini, kemudian install :

Install Docker di Windows Tanpa Docker Desktop

Seperti saya, laptop digunakan untuk bekerja hanya menggunakan OS Windows. Docker Container wajib terpasang di laptop saya tapi saya ingin semuanya berjalan otomatis (seperti saya menggunakan Linux), dan saya lebih suka menggunakan docker container management dengan portainer. Sedangkan kalau kita menggunakan Docker Desktop kita harus membuka aplikasi tersebut baru service docker berjalan.

Lalu bagaimana caranya agar service docker berjalan otomatis dan menggunakan portainer untuk manage containernya?

Seperti di langkah sebelumnya kita membutuhkan WSL 2 dan Default Linux Distribution yaitu Ubuntu ter install terlebih dahulu. Jalankan terminal Ubuntu Anda dan lakukan langkah-langkah berikut :

sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
   https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Install Docker Engine on Ubuntu

https://docs.docker.com/engine/install/ubuntu/

Setelah sukses tanpa error apapun, Anda harus membuka terminal Ubuntu terlebih dahulu dan mengetikan perintah “sudo service docker start” agar service docker berjalan. Buat saya NO NO NO, saya mau setiap saya login windows saya service docker dan container saya semuanya jalan otomatis.

Selanjutnya kita bisa menambahkan command berikut :

wsl.exe -u root -e sh -c "service docker status || service docker start"

pada Task Scheduler >> Create Basic Task >> Create Name, next >> Trigger, When I Logon, next >> Action, Start Program, next >> masukan script diatas. Kemudian coba relog windows Anda. Harusnya service docker windows dan container Anda sudah berjalan otomatis.

Hal Yang Perlu Dilakukan Setelah Install Docker Desktop

Limit resource untuk WSL

Setelah anda menjalankan docker windows, coba lihat Task Manager anda. Ada salah satu services “Vmmem” yang berjalan yang menggunakan resource RAM anda maksimal sampai mentok padahal Anda belum melakukan apa-apa di docker Anda.

Docker Desktop uses the dynamic memory allocation feature in WSL 2 to greatly improve the resource consumption. This means, Docker Desktop only uses the required amount of CPU and memory resources it needs, while enabling CPU and memory-intensive tasks such as building a container to run much faster.

https://docs.docker.com/docker-for-windows/wsl/

Untuk memperbaiki hal ini Anda harus membatasi resource maksimal yang bisa digunakan WSL anda, misalnya batasi saja maksimal RAM 1GB, Prosessor 2 Core.

Bagaimana caranya? Pada WSL Windows ada 1 file konfigurasi global untuk WSL 2 distribution yang terpasang di PC anda yaitu (.wslconfig) yang berlokasi di “C:\Users\<UserName>\“. Secara default file tersebut tidak dibuat otomatis, Anda harus membuatnya secara manual. Detailnya Anda bisa lihat disini.

wsl --shutdown
notepad "$env:USERPROFILE/.wslconfig"

Isi dengan konfigurasi seperti ini :

[wsl2]
memory=1GB
processors=2

Save dan restart docker-desktop service!

Mengetahui Lokasi Folder WSL

Di Docker Engine v20.10.17 anda bisa menemukannya di :

 \\wsl$

Tinggalkan Balasan