Port Mapping Nedir ? Docker'da Port Yönlendirme


Port Mapping Nedir? Docker'da Port Yönlendirme (Port Mapping)

Docker ile ayağa kaldırdığımız container'ların Docker Host üzerinde çalıştığını öğrenmiştik. Docker Host'un kendine özel bir network'ü vardır. Bu container'lar bir gateway üzerinden birbirlerine bağlanır ve aksi belirtilmedikçe her container kendine ait bir IP adresine sahiptir.

Çalışan tüm web uygulamalarının bir portu olduğu gibi Docker container'larının da kendilerine ait portları vardır. Uygulamalar bu portlar üzerinden servis edilir.


Docker Container'a Neden Doğrudan Bağlanamayız?

docker run komutu ile ayağa kaldırdığımız bir uygulamaya kendi bilgisayarımızdan doğrudan bağlanamayız.

Bunun için öncelikle Docker Host'a bağlanmamız, ardından Docker Host içerisindeki container'ın portuna yönlendirilmemiz gerekir.

Yani dış dünyadan gelen istek önce Docker Host'a ulaşır, daha sonra ilgili container'ın portuna aktarılır.


Docker'da Port Mapping Nasıl Yapılır?

Docker ile başlattığımız bir uygulamanın portlarını dışarı açmak için aşağıdaki komut kullanılır.

docker run -p DIS_PORT:IC_PORT mongo

Buradaki parametrelerin anlamı şöyledir:

  • DIŞ PORT (Host Port): Docker Host'un dışından erişilecek port numarasıdır.
  • İÇ PORT (Container Port): Container içerisindeki uygulamanın çalıştığı port numarasıdır.

Bu şekilde uygulamaları dış porttan iç porta yönlendirerek bilgisayarımızdan (localhost üzerinden) bağlantıları yönetebiliriz.


Port Mapping Mantığı

Host (Bilgisayar) Container (Docker)
DIŞ_PORT İÇ_PORT

Örneğin host üzerindeki bir port, Docker container içerisindeki uygulamanın portuna yönlendirilir ve uygulamaya bu port üzerinden erişilebilir.

Daha yeni Daha eski