İlginizi Çekebilir
080218_2153_KubernetesN1.jpg
  1. Ana Sayfa
  2. Container
  3. Docker Container’a RDP ile Nasıl Bağlanabiliriz? – Bölüm 1

Docker Container’a RDP ile Nasıl Bağlanabiliriz? – Bölüm 1

020220_1039_DockerConta11.png

Başlığı ilk gördüğünüzde “böyle bir şeye ne gerek var?” diyebilirsiniz, ancak benim gibi farklı dağıtımlarını denemeyi seviyorsanız ve bunu en hızlı şekilde nasıl yapabilirim diyorsanız farklı dağıtımlara ait imajlarını kullanarak istediğiniz Linux dağıtımını deneyebilirsiniz. ISO üzerinden yapacağınız kurulumla aynı deneyimi ne kadar sağlayabiliriz ayrı bir konu ancak teknik olarak container‘a da bir sanal makinede kurulu Linux dağıtımı ile benzer şekilde ile bağlanmak teknik açıdan mümkün. Daha önce Azure Üzerinde Çalışan Linux VM’e RDP ile Nasıl Bağlanabiliriz? yazımızla benzer şekilde ilerleyeceğim ancak bu kez Windows 10 üzerinde Desktop ve container imajı kullanacağım.

Resim-1‘de göreceğiniz gibi docker run -it -p 3489:3389 ubuntu:latest /bin/bash komutu ile Ubuntu’ya ait en güncel container imajını kullanarak bir container oluşturarak başlayalım. Lokalde bu imaj yoksa önce imajı Docker Hub’tan çekecektir. Özetle öncesinde docker pull yapmanıza gerek yok. Parametrelere de kısaca bakacak olursak:

-it, interactive terminal yani container başladığında biz de container terminal session’a bağlanmış olacağız.

-p, container’daki 3389 (RDP) portunu host’un 3489 portuna yönlendiriyorum.

Resim-1

Container session’a bağlandıktan sonra da apt-get update -y && apt-get upgrade -y komutu ile paket listeleri ve paketleri güncelleyelim (Resim-1).

Eğer mstsc ile locahost’a (varsayılan port 3389) bağlanmak istersem Resim-2‘de göreceğiniz gibi console session’a zaten bağlı olduğum için 2. bir bağlantı açamayacağını söylüyor.


Resim-2

Container içerisinde doğal olarak RDP yapabileceğimiz bir masaüstü olmadığından ilk önce bir masaüstü ortamı kurmamız gerekiyor. Bunun için yine diğer masaüstü ortamlarına göre daha hafif diyebileceğimiz ‘i tercih edeceğim. Kurulum içi apt-get install xfce4 -y komutunu çalıştırıyorum (Resim-3).

Resim-3

Kurulum sırasında bizden saat dilimi ayarları için için coğrafi bölge seçmemi ve sonrasında da bu bölge içerisinden bir şehir seçmemi isteyecek. 8 Avrupa ve 20 İstanbul seçimi ile devam ediyorum (Resim-4).

Resim-4

Masaüstü ortamı kurulumu tamamlandıktan sonra sırada RDP bağlantısı yapabilmek için kurulumu yapmaya geliyor; apt-get install xrdp -y komutu ile kurulumu tamamlıyorum (Resim-5).

Resim-5

Her şey hazır gibi ancak RDP yaptıktan sonra root kullanıcısı ile bağlanmak istemeyeceğim için yeni bir kullanıcı da oluşturmam gerekecek. Yeni bir kullanıcı oluşturmadan önce ise bu kullanıcı için en gerekli komut olan sudo‘yu da kurmak gerekiyor; apt-get install sudo -y (Resim-6).

Resim-6

Kullanıcı oluşturmak için ise useradd -ms /bin/bash -p “$(openssl passwd -1 P@ssword1)” -u 1000 mert komutunu kullanıyorum (Resim-7). Burada:

  • -m kullanıcıya ait bir home directory oluşturmak,
  • -s kullanıcı login olunca kullanacağı shell’i tanımlamak,
  • -p şifresini tanımlamak (encrypted olarak vermek gerektiği için openssl kullanıyorum),
  • -u kullanıcı ID değeri tanımlamak için kullanıyorum.

Sudo komutunu kullanabilmesi için de usermod -aG sudo mert komutu ile mert kullanıcısını sudo grubuna ekliyorum. Burada da -a gruba eklemek, -g ise grup adı belirtmek için kullandığım parametreler (Resim-7).

Resim-7

Xrdp’ye kullanıcı session’ı başladığı zaman hangi masaüstü ortamını kullanacağını belirtmek için de echo xfce4-session >~/.xsession komutunu; son olarak da xrdp servisini başlatmak için service xrdp start komutunu çalıştırıyorum (Resim-8).

Resim-8

Kurulumları tamamladıktan sonra mstsc ile container’a bağlanabilirim. Burada localhost’un yanına (varsaylan port olan 3389 yerine) container’ı çalıştırırken yönlendirdiğim 3489 portunu da yazıyorum (Resim-9).

Resim-9

Resim-10‘da göreceğiniz gibi xrdp login ekranı karşımıza çıkacak. Burada oluşturduğum mert kullanıcısı ile sisteme giriş yapıyorum.

Resim-10

Sisteme giriş sonrasında da use default config seçeneğini seçerek devam ediyorum ve Resim-11‘de göreceğiniz gibi container içerisinde çalışan Linux masaüstümüz kullanıma hazır.

Resim-11

Bu konuyla ilgili sorularınızı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

https://www.xfce.org/

http://www.xrdp.org/

https://www.mshowto.org/azure-uzerinde-calisan-linux-vme-rdp-ile-nasil-baglanabiliriz.html

TAGs: Docker, , Container, Linux, Ubuntu, , Protocol, RDP, xrdp, , xfce

Yorum Yap

Yazar Hakkında

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

Yorum Yap