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

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

2

Başlığı ilk gördüğünüzde “böyle bir şeye ne gerek var?” diyebilirsiniz, ancak benim gibi farklı Linux dağıtımlarını denemeyi seviyorsanız ve bunu en hızlı şekilde nasıl yapabilirim diyorsanız farklı dağıtımlara ait container 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 RDP 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 Docker Desktop ve Ubuntu 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 Xfce‘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 xrdp 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ı alt kısımda bulunan yorumlar alanını kullanarak 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, Containers, Container, Linux, Ubuntu, Remote Desktop, Remote Desktop Protocol, RDP, xrdp, Xfce Desktop Environment, xfce

Bu İçeriğe Tepkin Ne Oldu?
  • 5
    harika_
    Harika!!
  • 1
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

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.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (2)

  1. 02/10/2020

    useradd -ms /bin/bash -p “$(openssl passwd -1 P@ssword1)” -u 1000 mert
    burdaki şifre nedir pek anlamadım

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir