SORU
1 Mart 2014, CUMARTESİ


Arasındaki fark "teşhir" ve "yayınla" docker içinde

Dockerfiles deniyorum ve çoğu mantığı anlıyorum. Ancak, arasındaki fark "" ve "Yayıncılık" bu bağlamda bir liman. açığa göremiyorum

İlk gördüğüm bütün dersler Dockerfile EXPOSE komutu vardır:

...
EXPOSE 8080
...

Onlar da bu Dockerfile: bir resim oluşturmak

$ docker build -t an_image - < Dockerfile

Ve sonrayayınlayınaynı bağlantı, resim çalışırken yukarıdaki gibi:

$ docker run -d -p 8080 an_image

ya da tüm bağlantı noktalarını kullanarak yayımlayın

$ docker run -d -P an_image

Her neyse yayınlanan bu Dockerfile bir port açığa anlamı ne? Şimdiye kadar göstermek için gerekli olduğu zaman bir bağlantı noktası ilk ve . var ^em>değildaha sonra yayınlamak? Etkili görüntü oluşturma ve sonra onları tekrar, onlarla sadece çalışan değil rahatsız zaman Dockerfile içinde kullanacağım tüm bağlantı noktaları belirtmek isterim:

$ docker run -d an_image

Bu mümkün mü?

CEVAP
3 Mart 2014, PAZARTESİ


Temelde, üç seçeneğiniz vardır:

  • Ne EXPOSE ne -p belirtin.
  • Sadece EXPOSE belirtin.
  • EXPOSE -p belirtin.

Eğer bunlardan herhangi belirtirseniz, konteyner içinde hizmet konteynırın içinden hariç her yerden erişilebilir olacak.

16 ** bir liman, konteyner içinde hizmet Diğer Docker konteyner iç dış Docker, ama erişilebilir değil. Bu ınter-konteyner iletişim için iyidir.

EXPOSE -p bir liman, konteyner hizmeti, her yerden erişilebilir, Docker bile dışarıda.

İki ayrı olmasının sebebi, çünkü IMHO

  • bir ana bilgisayar seçerken bağlantı noktası ana bilgisayar bağlıdır ve dolayısıyla Dockerfile (aksi takdirde ana bağlı olacaktır) ait değildir
  • ve çoğu zaman eğer bir kaba bir hizmeti diğer kaplardan erişilebilir olması yeterli.

documentation açıkça belirtir:

EXPOSE talimat bağlantılar içinde kullanılmak için bağlantı noktalarını gösterir.

Ayrıca nasıl temelde bahsettim arası konteyner iletişim link containers, işaret eder.

Eğer 20 ** ama EXPOSE örtülü mu Docker EXPOSE yok. PS: Bu eğer bir port açık ise, otomatik olarak diğer Docker konteyner açık olmasıdır. Dolayısıyla -p EXPOSE içerir. Üstteki dördüncü bir dava olarak liste yapmadım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DavidParody

    DavidParody

    17 EKİM 2009
  • infodirt

    infodirt

    11 Mart 2009
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006