Skip to content

Cara Menjalankan Windows Full OS di Dalam Docker

  • DevOps
Dockur

Pernahkah Anda bertanya-tanya bagaimana caranya menjalankan sistem operasi Windows lengkap di dalam kontainer Docker? Ini bukan mimpi lagi! Dengan proyek Dockur Windows, Anda bisa menjalankan Windows dari versi lama seperti XP hingga yang terbaru seperti Windows 11, semuanya diisolasi dan efisien. Bayangkan: instalasi otomatis, akselerasi KVM untuk performa tinggi, dan akses via web atau RDP. Cocok banget buat testing, pengembangan, atau sekadar nostalgia dengan Windows 2000.

Dalam posting blog ini, kita akan bahas fitur-fitur kerennya, cara setup cepat, dan jawaban lengkap untuk pertanyaan-pertanyaan umum (FAQ). Siap? Mari kita mulai petualangan Docker-nya!

Fitur Utama Dockur

Proyek ini punya beberapa fitur yang bikin hidup lebih mudah:

  • Pengunduh ISO Otomatis: Unduh file ISO Windows langsung dari sumber resmi tanpa ribet.
  • Akselerasi KVM: Gunakan hardware virtualisasi untuk performa seperti mesin sungguhan.
  • Penampil Berbasis Web: Akses desktop Windows via browser, tanpa perlu software tambahan.

Dan untuk demo visual yang lebih hidup, cek video ini di YouTube: YouTube Demo – Lihat bagaimana instalasi berjalan mulus dalam hitungan menit!

Cara Menggunakan Dockur

Tidak perlu jadi ahli Docker untuk ini. Berikut opsi-opsi setup yang fleksibel, mulai dari yang paling sederhana.

1. Via Docker Compose (Rekomendasi untuk Pemula)

Buat file docker-compose.yml dengan isi ini, lalu jalankan docker-compose up -d:

services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "11"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    volumes:
      - ./windows:/storage
    restart: always
    stop_grace_period: 2m

2. Via Docker CLI (Untuk Skrip Cepat)

Langsung ketik perintah ini di terminal:

docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 dockurr/windows

3. Via Kubernetes (Untuk Cluster Pro)

Apply YAML ini:

kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml

4. Via GitHub Codespaces (Cloud Instan)

Klik tombol Open in GitHub Codespaces untuk setup di cloud tanpa instal apa pun.

5. Via Installer Grafis

Unduh WinBoat untuk antarmuka visual yang ramah pemula.

Setelah setup, buka browser ke http://localhost:8006 dan nikmati instalasi otomatis. Desktop Windows siap dalam 10-30 menit, tergantung ukuran ISO!

FAQ

Bagaimana Cara Menggunakannya Secara Sederhana?

Sangat mudah, kok! Ikuti langkah ini:

  1. Jalankan kontainer dan akses port 8006 via browser web.
  2. Santai aja sambil nunggu instalasi otomatis (semua keajaiban terjadi di belakang layar).
  3. Begitu desktop muncul, Windows Anda siap pakai.
  4. Nikmati, dan jangan lupa beri bintang di repo GitHub-nya!

Pilih Versi Windows Mana yang Cocok?

Default-nya Windows 11 Pro, tapi customisasi mudah via variabel VERSION di file compose:

environment:
  VERSION: "11"

Pilih dari tabel ini berdasarkan kebutuhan (ukuran file juga penting buat download cepat):

NilaiVersiUkuran
11Windows 11 Pro7.2 GB
11lWindows 11 LTSC4.7 GB
11eWindows 11 Enterprise6.6 GB
10Windows 10 Pro5.7 GB
10lWindows 10 LTSC4.6 GB
10eWindows 10 Enterprise5.2 GB
8eWindows 8.1 Enterprise3.7 GB
7uWindows 7 Ultimate3.1 GB
vuWindows Vista Ultimate3.0 GB
xpWindows XP Professional0.6 GB
2kWindows 2000 Professional0.4 GB
2025Windows Server 20256.7 GB
2022Windows Server 20226.0 GB
2019Windows Server 20195.3 GB
2016Windows Server 20166.5 GB
2012Windows Server 20124.3 GB
2008Windows Server 20083.0 GB
2003Windows Server 20030.6 GB

Tips: Untuk versi ARM64, coba image dockur/windows-arm.

Ubah Lokasi Penyimpanan atau Ukuran Disk?

Ganti bind mount di volumes:

volumes:
  - ./windows:/storage  # Ganti ./windows dengan path impian Anda

Untuk disk lebih besar dari 64 GB default:

environment:
  DISK_SIZE: "256G"

Catatan: Resize aman tanpa hilang data, tapi extend partisi manual ya!

Bagikan File dengan Host?

Ada folder “Shared” di desktop Windows post-instalasi. Bind folder host:

volumes:
  - ./example:/shared  # Ganti ./example dengan folder berbagi Anda

Atur CPU/RAM, Username/Password, atau Bahasa?

Default: 2 core CPU, 4 GB RAM, user “Docker” dengan pass “admin”, bahasa Inggris.

Custom via environment:

environment:
  RAM_SIZE: "8G"
  CPU_CORES: "4"
  USERNAME: "emka"
  PASSWORD: "taudeh"
  LANGUAGE: "Indonesia" 
  REGION: "en-US"
  KEYBOARD: "en-US"

Instal Image Custom atau Jalankan Skrip Pasca-Instal?

Untuk ISO eksternal:

environment:
  VERSION: "https://example.com/win.iso"

Atau bind lokal:

volumes:
  - ./example.iso:/boot.iso

Untuk skrip: Buat install.bat di folder ./example, bind ke /oem:

volumes:
  - ./example:/oem

Instal Manual atau Akses RDP?

Untuk manual (tidak direkomendasikan, tapi oke kalau mau eksperimen):

environment:
  MANUAL: "Y"

RDP lebih nyaman post-instal: Hubung ke IP kontainer port 3389 dengan user “Docker”/”admin”. App RDP ada di Play Store (Android), App Store (iOS), FreeRDP (Linux), atau mstsc (Windows).

Jaringan Lanjutan: IP Sendiri atau DHCP?

Untuk IP statis via macvlan, buat network dulu:

docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 --ip-range=192.168.0.100/28 -o parent=eth0 vlan

Lalu tambah di compose:

networks:
  vlan:
    external: true
services:
  windows:
    networks:
      vlan:
        ipv4_address: 192.168.0.100

Untuk DHCP (Windows minta IP dari router):

environment:
  DHCP: "Y"
devices:
  - /dev/vhost-net
device_cgroup_rules:
  - 'c *:* rwm'

Tambah Disk, Pass-Through USB/Disk?

Disk tambahan:

environment:
  DISK2_SIZE: "32G"
  DISK3_SIZE: "64G"
volumes:
  - ./example2:/storage2
  - ./example3:/storage3

Pass-through disk:

devices:
  - /dev/sdb:/disk1  # Utama (diformat)
  - /dev/sdc1:/disk2  # Sekunder (aman)

USB: Cari ID via lsusb, lalu:

environment:
  ARGUMENTS: "-device usb-host,vendorid=0x1234,productid=0x1234"
devices:
  - /dev/bus/usb

Peringatan: Hubung USB post-instal kalau itu drive disk.

Cek Dukungan KVM di Sistem Anda?

Pastikan software kompatibel dulu:

ProdukLinuxWin11Win10macOS
Docker CLI
Docker Desktop
Podman CLI
Podman Desktop

Di Linux, jalankan:

sudo apt install cpu-checker
sudo kvm-ok

Kalau error: Aktifkan VT-x/SVM di BIOS, nested virt kalau di VM, hindari cloud VPS. Kalau masih bermasalah, tambah privileged: true di compose.

Sumber: Dockur Github https://github.com/dockur/windows