Docker kullanırken, bir servisin host üzerindeki portunu değiştirmek, özellikle farklı projeler arasında port çakışmalarını önlemek ve güvenlikle ilgili gereksinimleri karşılamak için önemlidir.

Bu örnekte 8080 portundaki bir app’i 8000 portuna taşımayı öğreneceksiniz.

Görüldüğü üzere; App şuanda 8080 portunda çalışıyor.

Aşağıdaki kod ile containerlarınızı listeleyin.
docker ps

Container’ın ID’sini alıp, stop komutuyla durdurun.
docker stop 772e4f1804f7

Docker servisini durdurun.
systemctl stop docker

Container’ın volume’unun bulunduğu path’e gidin. Container ID’siyle başlayan klasöre girin.
cd /var/lib/docker/containers/772e4f1804f7ed6e1f9551f7ae70dcdff4ece84caf2be7ff094f95915915c3b8

Klasör içindeki hostconfig.json’ı açın.
vi hostconfig.json

HostPort yazan kısımdaki 8080’i 8000 olarak değiştirip, kaydedip çıkın.

hostconfig.json dosyanızın son hali şu şekilde olmalıdır.

Yine aynı klasör içindeki config.v2.json’ı açın.,
vi config.v2.json

HostPort kısımlarını 8000 olarak değiştirin.

config.v2.json dosyanızın son hali şu şekilde olmalıdır.

Docker containerınızı başlatın.

Browser’da app’i açtığınızda 8000 portunda çalıştığını göreceksiniz.