Docker ile ilgili araştırma yaparken Windows Image’da olduğunu ve Windows için’de Konteynır oluşturabildiğimizi gördüm. Sorum Başlık ile aynı, Windows uygulamalarını bu konteynır üzerinden çalıştırmak mümkünmü ?
Benim bildiğim Windows açmıyor ama büyük konuşmak istemiyorum. https://www.reddit.com/r/docker/comments/miwci9/can_you_run_windows_apps_in_docker_on_a_linux_box/
https://github.com/dockur/windows
Bunu kullanmak için sisteminizin sanallaştırma desteklemesi gerekiyor
Root kullanıcısı olarak:
apt install cpu-checker
kvm-ok
Github sayfasında bulunan docker compose dosyasını kullanarak kurmanız ileride daha rahat olacaktır. Sürüm varsayılan olarak Win11Home ama tabloya göre değişirebilirsiniz
Peki bununla neler yapılabilir?
Bu’na bir göz gezdirdim gerçekten güzel lakin burada web arayüzü üzerinden docker’a bağlanıyor. Yani sanal makinenin iki kat daha hızlısı desek yeridir. Lakin benim istediğim windows uygulamalarını oluşturduğum docker üzerinden masaüstün’de bulunabilir bir şekilde açmak. Bunun Qemu/KVM ile sanal makineyi açmadan direk Windows uygulamalarını çalıştırmak için WinApps
var. Buna benzer bir yöntem varmı ? ( " Sanal Makine Çok Ram yiyor ve İşlemciyi kullanıyor, Docker olursa bu dert’den kurtulmuş olurum )
Yapamazsın. Windows çekirdeği açık kaynak değil ve senin host sisteminle uyumlu çalışmaz. Bu nedenle çekirdek seviyesinde bir sanallaştırma gerçekleştiremeyeceğin için docker/podman yada lxc kullanamazsın.
Peki aynı WinApps gibi RDP üzerinden mümkün olamaz’mı ? :
Nasıl çalışır
WinApps, bir VM içinde (veya herhangi bir RDP sunucusunda) çalışan uygulamaları sanki yerel uygulamalarmış gibi doğrudan GNOME’a dahil etmenin kolay, tek komutlu bir yolu olarak oluşturuldu. WinApps şu şekilde çalışır:
- Windows RDP sunucusunu arka plan VM kapsayıcısında çalıştırma
- Microsoft Office gibi yüklü uygulamalar için RDP sunucusunu kontrol etme
- Bu programlar kurulursa, hem CLI hem de GNOME tepsisi için FreeRDP’den yararlanan kısayollar oluşturur
- Ana dizininizdeki dosyalara
\\tsclient\home
VM’nin içindeki bağlantı yoluyla erişilebilir- Bir uygulamayla açmak için ana dizininizdeki herhangi bir dosyaya da sağ tıklayabilirsiniz.
Tabi ki mümkün fakat bunun yerine gpu passthrough kullanmak mantıklı değil mi
Hocam ben şuana kadar hiç Gpu pasthrough kullanmadım.
Ama yanlış sanmıyorsam Gpu passthrough Ekran kartını sanal makinede kullanmana olanak veriyor diye biliyorum?
Evet bence gayet iyi lazım olunca sanal makinede ne yapıyorsan yapıyorsun ve kapatıyorsun dualboot grub gitti derdin yok falan
Hocam öyle’de uğraştırıcı oluyor.
Sizinle dünkü sohbette öğrendiğim kadarıyla docker sayesinde virtual machine gibi ayrı ram ve çekirdek derdinden kurtuluyoruz. O yüzden docker üzerinden çalışsa daha iyi olur diye düşünüyorum. Hemde bilgisayarımda tek tıkla uygulama ikonu gözükürse’de bir dert kalmamış olacak, ve Docker’ı sadece tek komutla açabiliyor hatta otomatikleştirebiliyoruz.
İşte keşke öyle bir şey olabilse fakat dockerda zaten çalışmıyor
Hocam WinApps ile olan video’yu izlediniz’mi ?
Orada mesela sanal makine arkada çalışıyor ve hiç Arayüz ile bağlanmıyor, direk masaüstünden mesela adobe için bir desktop dosyası var, ona tıkladığı zaman direk adobe açılıyor, aslında docker rdp destekliyorsa WinApps
’e benzer bir şey yapılabilir.
Yukarıdaki arkadaşın gösterdiği Docker File ile Windows kullanabiliyoruz :
https://github.com/dockur/windows
Bunun içinde Micro11 Custom Windows işletim sistemi kullanmayı düşünüyorum
Linux’ta RDP çalıştırabiliyorsun zaten ki. RDP görüntü protokolü sadece. Docker’ın burda bir işlevi olmaz
WinApps ilgi çekici duruyor fakat adobe gibi programlar için ekran kartının gücü lazım olacağından ötürü gpu passthrough tercih ederim.
Sağolun hocam, yardımınız için diğer herkese’de teşekkürler
Dediğiniz gibi, WinApps sadece bilgisayarı güçlü olan kimseler kullanıyor, Gpu passthrough’u kullanmayı düşünüyorum ama tek ekran kartım var sorun yaşarmıyım ?
Böyle bir wiki yapmıştım bakabilirsin video da mevcut
Github sayfasındaki çözüm yolu docker ın içine ubuntu fln bi linux dağıtımı kuruyor bunun içinde sanallaştırma ile windows çalışıyor yani docker içinde doğru ama gene sanallaştırmaya kalıyor yani başka yolu yok. Windows kendi rdp sunucusunu açıyor bu dockerın içine sunuluyor sonra çalışan bir program buna bağlanıp web arayüzünden sunuyor size ama o rdp portunu sisteme açarsınız o problem değilde.
Sistminzde kaç gb ram bulunmakta sorabilirmiyim ?
8gb ramim var
Durumunuzu anlıyorum kvm de dahil olmak üzere çoğu gpu passthrough direk ekran kartınızın pci arayüzünü aktarıyor bu nedenle sadece 1 ekran kartınız varsa işinizi görmez işlemcinizin entegre grafik kartı olabilir buna bakın
Arkadaşlar merhaba. Docker anladığım kadarıyla çalışacak projenin çalışma ortamını bir paket olarak tutuyor ve istenilen yerde o paketi işletim sistemi kernel’inde çalıştırıyor. Yanlış anlamadıysam.
Belki ileri de olabilir diye düşünüyorum. Yaparlar mı yaparlar yani. Teknoloji de hele de Linux’ta gözlemlediğim kadarıyla sınırlar hep aşılıyor.