Docker bir bağlantı noktasını yalnızca Host'a EXPOSE


103

Docker, bir bağlantı noktasını dışarıya değil, yalnızca ana bilgisayara gösterebiliyor mu?

Bir mongo veri tabanı ile çalışan bir docker koymam gerekiyor ve ona sadece ana bilgisayardan erişilebilmesini istedim, ancak 27017 ana bilgisayar bağlantı noktasını bağlamam gerekiyor.

Bu mümkün mü, yoksa mümkün olan tek yol güvenlik duvarı tanımlarını değiştirmek mi?

Yanıtlar:


148

Elbette, localhostşunun gibi bağlayın:

docker çalıştırma -p 127.0.0.1:27017:27017

Ayrıca: Sunucunuz her bir kapsayıcıyla normal olarak kendi IP'si üzerinden konuşabilir. docker inspect $IDAğ IP'sini içeren bir json dökümü (diğer şeylerin yanında) almak için kullanın .


4
Yani [1] docker run -p 27017: 27017 -v / var / lib / mongodb / master: / data mongo: storage_test / usr / bin / start-mongo [2] docker run -p 127.0.0.1: 27017: 27017 ...?
Ruben

17
İkinci seçenek localhost'a bağlanır, evet. İlki, limanı halka açık hale getirir. Statik bir bağlantı noktası istemiyorsanız, kullanın 127.0.0.1::27017.
ZeissS

3
Bu çözüm sürü modu için işe yaramıyor gibi görünüyor bu github sorununa bakın
bsimpson53

1
eşdeğer docker-compose basitçe service-name: { ... ports: [ "127.0.0.1:27017:27017" ] }mi?
Groostav

1
Docker-compose'umdaki sorun nedir, ancak yalnızca localhost'a bağlanır, ancak herkesin erişimine açıktır. stackoverflow.com/questions/50621936/…
Tara Prasad Gurung
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.