Docker EXPONE un puerto solo al host


99

¿Es la ventana acoplable capaz de exponer un puerto solo al host y no al exterior?

Necesito ejecutar una ventana acoplable con una base de datos mongo, y quería que solo fuera accesible desde el host, pero necesito vincular el puerto del host 27017.

¿Es esto posible o la única forma posible es cambiar las definiciones del firewall?

Respuestas:


140

Claro, solo átalo así localhost:

Docker ejecutar -p 127.0.0.1:27017:27017

Además: su host también puede hablar con cada contenedor normalmente a través de su IP. Úselo docker inspect $IDpara obtener un volcado json (además de otras cosas) que contenga la IP de la red.


4
Entonces, ¿es algo así como [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
La segunda opción se une a localhost, sí. El primero pone el puerto a disposición del público. Si no desea un puerto estático, use 127.0.0.1::27017.
ZeissS

3
Esta solución no parece funcionar para el modo enjambre ver este problema de
github

1
¿Es el equivalente docker-compose simplemente service-name: { ... ports: [ "127.0.0.1:27017:27017" ] }?
Groostav

1
¿Cuál es el problema en mi docker-compose aunque se vincula solo a localhost pero es de acceso público? stackoverflow.com/questions/50621936/…
Tara Prasad Gurung
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.