2017-09-20 1 views
0

Ich habe einen Andockfensters Behälter auf die github Link basiert - https://github.com/wurstmeister/kafka-dockerAndockfensters Behälter mit mehreren TCP-Ports

und bemerkte 3 Ports angezeigt wird, und einen Port mit dem Host gemappt werden.

Ich verstehe Port 2181, die aus dem Container zum Host-System ausgesetzt wurde.

aber was sind diese 3 Ports - 22/tcp, 2888/tcp, 3888/tcp ..Wenn diese nicht auf dem Host-System ausgesetzt sind, warum sie angezeigt werden.

a5779d08be33  wurstmeister/zookeeper                "/bin/sh -c '/usr/..." 40 minutes ago  Up 3 minutes  22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp kafkadocker_zookeeper_1 

Antwort

0

Nachdem das Bild ziehen, wenn Sie unter Befehl ausführen

docker history --no-trunc wurstmeister/zookeeper | grep EXPOSE 
... EXPOSE 2181/tcp 2888/tcp 3888/tcp 
... EXPOSE map[22/tcp:{}] 

Sie sehen also, dass die Dockerfile dieses Bild zu bauen verwendet hat erwähnt, dass Port 2181, 2888, 3888, 22 ausgesetzt werden sollen.

docker ps zeigt Ihnen die Ports, die von den Bildmetadaten erwähnt werden und auch die, die Sie zugeordnet haben.

Lassen Sie sich sagen, dass ich den unten stehenden Befehl ausführen

docker run --rm nginx 

docker ps

CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS    NAMES 
e39964ca9bb8  nginx    "nginx -g 'daemon ..." 2 seconds ago  Up 1 second   80/tcp    suspicious_jones 

Dies teilt die Bild-Metadaten zeigen zeigt an, dass Port 80 ist, was das Programm im Innern des Behälters zu lauschen kann. Nun, wenn ich laufen den gleichen Behälter wie unten

docker run -p 8080:8080 --rm nginx 

docker ps zeigen

CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS       NAMES 
93df718d1d86  nginx    "nginx -g 'daemon ..." 26 seconds ago  Up 25 seconds  80/tcp, 0.0.0.0:8080->8080/tcp confident_bassi 

So ist es eine Kombination von Bild Port-Metadaten und die Ports, die Sie tatsächlich abgebildet. Diese Metadaten sind praktisch, wenn wir die -P Flagge

docker run -P --rm nginx 

Jetzt verwenden docker ps uns

CONTAINER ID  IMAGE    COMMAND     CREATED STATUS    PORTS     NAMES 

bf70d3212ee9  nginx    "nginx -g 'daemon ..." 1 second ago  Up 1 second   0.0.0.0:32768->80/tcp hungry_keller 

gibt Wie Sie jeden Port sehen kann automatisch an einen freien Port in den Bild-Metadaten erwähnt auf dem Host zugeordnet wird

Verwandte Themen