Quiero usar la ventana acoplable para ejecutar una imagen de cuidador del zoológico. El comando de instrucción es

docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --name zookeeper    confluent/zookeeper

No estoy claro con la opción -p, ¿qué significan estas tres opciones "-p" en este ejemplo del guardián del zoológico? y por qué tenemos dos valores de puerto iguales en una sola opción -p. Esperaría como 2181: localhost, no 2181: 2181.

1
nathan 8 dic. 2016 a las 19:37

1 respuesta

La mejor respuesta

El indicador -p especifica cuál de los contenedores elige exponer en su contenedor (todos están cerrados de forma predeterminada).

El propósito de usar: annotation es indicar qué puerto del contenedor debe reenviarse al puerto localhost. Refiriéndose a su pregunta, mapear el puerto como 2181: localhost no significaría nada, porque localhost se infiere automáticamente, pero el puerto no lo es. La razón por la que Docker le da la opción es porque el puerto 2181 podría estar ocupado en su host local, por lo que le dan la libertad de elegir un puerto de su elección para reenviar.

1
Yaron Idan 8 dic. 2016 a las 21:16
Gracias. Entonces, estos dos puertos no tendrían que ser iguales. ¿Y por qué necesitamos tres mapeos para un contenedor de guardián del zoológico?
 – 
nathan
8 dic. 2016 a las 21:30
No puedo decir específicamente para el cuidador del zoológico, pero otros servicios a menudo necesitan más de un puerto. Elasticsearch, por ejemplo, requiere 9200 para acceder a la base de datos y 9300 para propósitos de descubrimiento.
 – 
Yaron Idan
8 dic. 2016 a las 21:32