Ich habe einen Andock-Container auf RHEL 7 mit Docker 1.7.0. Das Programm, das in diesem Container ausgeführt wird, wartet auf TCP-Verbindungen auf Port 5000. In meiner Dockerfile setze ich den Satz EXPOSE 5000 und ich führe den Container mit dem folgenden Befehl aus:
%Vor%Wenn ich netstat auf dem Host ausführe, sehe ich den LISTEN-Socket:
%Vor%Ich kann eine Verbindung zur Anwendung herstellen, indem ich mich mit der Host-IP-Adresse an Port 5000 verbinde und die Daten, die ich an die Anwendung sende, eintreffen. Ich weiß das, weil ich es in meinen Anwendungsprotokollen sehe, die Anwendung sendet auch Daten über den Socket. Ich sehe jedoch keine ESTABLISHED-Verbindungen mit netstat auf dem Docker-Host:
%Vor%Ich sehe die ESTABLISHED-Verbindung auf der Clientseite, die docker nicht verwendet:
%Vor%Ich habe keinen docker-Befehl gefunden, der äquivalent oder ähnlich wie netstat ist Ist das normal? Wie kann ich die ESTABLISHED-Verbindungen zu einem Container oder zum Docker-Proxy sehen?
Danke
Sie können dieses Snippet verwenden, um alle ESTABLISHED für alle Docker in einer Zeile zu erhalten (wenn Sie nsenter
haben)
Beachten Sie die ESTABLISHED in grep
.
Sie können mit netstat -pnl
sowohl TCP als auch UDP
oder nur TCP LISTEN
%Vor%