Heim > Artikel > Betrieb und Instandhaltung > Was soll ich tun, wenn Docker erfolgreich erstellt wurde, aber keine Verbindung hergestellt werden kann?
Vorher geschrieben:
In diesem Artikel geht es hauptsächlich um die Gründe und Lösungen für die Docker-Erstellung, aber um das Scheitern der Verbindung. Es handelt sich um einen praktischen Artikel für Docker-Anfänger. Die Vorgänge und Lösungen im Artikel basieren auf der Ubuntu-Systemumgebung.
Bei der Verwendung von Docker gibt es Situationen, in denen Ihr Container selbst dann nicht verbunden werden kann, wenn er erfolgreich erstellt wurde. Diese Situation macht die Menschen oft sehr verzweifelt und kann das Problem nicht finden. In diesem Artikel werden anhand eines praktischen Falls die Gründe und Lösungen erläutert, warum Docker erfolgreich erstellt wurde, aber keine Verbindung hergestellt werden kann.
Fallbeschreibung:
Wir haben Docker verwendet, um einen Nginx-Container auf unserem lokalen Computer zu erstellen, aber beim Zugriff darauf konnten wir keine erfolgreiche Verbindung herstellen.
Die Schritte sind wie folgt:
Geben Sie den folgenden Befehl in die Befehlszeile ein:
sudo apt-get install docker.io
Nach Abschluss der Installation verwenden Sie den folgenden Befehl So starten Sie Docker:
sudo systemctl start docker
Geben Sie den folgenden Befehl in die Befehlszeile ein:
sudo docker run --name mynginx -p 80:80 -d nginx
This Befehl bedeutet: Erstellen Sie einen Nginx-Container mit dem Nginx-Image. Der neue Container, dessen Name mynginx ist, ordnet Port 80 dem lokalen Port 80 zu und läuft im Hintergrund.
Geben Sie den folgenden Befehl in die Befehlszeile ein:
sudo docker ps
Wenn der folgende Inhalt angezeigt wird, wurde der Container erfolgreich erstellt:
CONTAINER-ID-BILDBEFEHL ERSTELLT STATUS PORTNAMEN
aaed7c1bcccf nginx "/ docker-entrypoint.…" vor 21 Sekunden Hoch 20 Sekunden 0.0.0.0:80->80/tcp mynginx
im Browser Geben Sie localhost im Browser ein, oder 127.0 .0.1. Siehe die Nginx-Willkommensoberfläche.
In einigen Fällen kann jedoch nicht auf Nginx zugegriffen werden.
Problemanalyse:
Zunächst müssen wir bestätigen, wo das Problem liegt.
Das Standard-Firewall-Tool des Ubuntu-Systems ist ufw. Sie können den folgenden Befehl verwenden, um seine Konfiguration anzuzeigen:
sudo ufw status
Wenn die Ausgabe wie folgt lautet, bedeutet dies Folgendes Die System-Firewall ist aktiviert:
Status: aktiv
An Von ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Zu diesem Zeitpunkt haben wir Sie müssen bestätigen, ob Port 80 durch die System-Firewall zugelassen wurde. Wie Sie der obigen Ausgabe entnehmen können, wurde Port 80 Zugriff gewährt, das ist also nicht das Problem.
Das bedeutet, dass das Netzwerk Hier liegt ein Verbindungsproblem. Untersuchen Sie weiterhin die Ursache.
Ist die lokale Netzwerkadresse korrekt?Das Antwortergebnis sollte ähnlich sein:
"IPAddress": "172.17.0.2",
Versuchen Sie es Greifen Sie im Browser auf 172.17.0.2 zu. Sie können die Nginx-Begrüßungsseite sehen. Dies bedeutet, dass die Portzuordnung und die Firewallregeln zu diesem Zeitpunkt korrekt sind. Das Problem liegt bei den lokalen Netzwerkadresseneinstellungen.
Lösung:
Ändern Sie die Nginx-Konfigurationsdatei, fügen Sie einen Serverknoten in der Konfigurationsdatei hinzu. Der Hostname ist die lokale IP-Adresse wie folgt:
Server {
listen 80 default_server; listen [::]:80 default_server; server_name localhost; root /var/www/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } # 新增的本机IP节点 server { listen 80; listen [::]:80; server_name <本机IP>; root /var/www/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } }
}
Nachdem die Änderung abgeschlossen ist, laden Sie Nginx neu Konfigurationsdatei:
sudo nginx -s reload
Besuchen Sie localhost oder 127.0.0.1 erneut, und Sie können die Nginx-Begrüßungsseite im Browser sehen.
Zusammenfassung:
Das Problem, dass Docker erfolgreich erstellt wurde, aber keine Verbindung hergestellt werden kann, hängt möglicherweise mit dem Netzwerkverbindungsstatus, der System-Firewall-Konfiguration, den lokalen Netzwerkadresseneinstellungen usw. zusammen. Durch die Behebung des Problems und die Ergreifung geeigneter Lösungen kann es reibungslos gelöst werden. Bei der zukünftigen Verwendung von Docker müssen Sie sich beruhigen, die Protokolle sorgfältig überprüfen, das Problem ermitteln und dann eine Lösung formulieren. Nur so können Sie die Docker-Technologie besser beherrschen und die Entwicklungseffizienz verbessern .
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Docker erfolgreich erstellt wurde, aber keine Verbindung hergestellt werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!