Verwendung des docker desktop enable model-runner Befehls zur Verwaltung von Model Runner-Einstellungen

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie die Docker Model Runner-Einstellungen mit dem Befehl model-runner in Docker Desktop verwalten. Wir behandeln das Aktivieren des Docker-Daemons für das Lauschen auf einem Standard-TCP-Port, die Konfiguration für einen benutzerdefinierten TCP-Port und schließlich das Deaktivieren der TCP-Verbindung für den Docker Model Runner.

Durch praktische Schritte werden Sie die Docker-Daemon-Konfigurationsdatei (daemon.json) anpassen, um die Netzwerkschnittstellen zu steuern, auf denen der Daemon lauscht, den Docker-Dienst neu starten, um Änderungen zu übernehmen, und die Auswirkungen des Aktivierens oder Deaktivierens von TCP-Verbindungen für Remote-Zugriff und Sicherheit verstehen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/restart("Restart Container") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/ls -.-> lab-555140{{"Verwendung des docker desktop enable model-runner Befehls zur Verwaltung von Model Runner-Einstellungen"}} docker/restart -.-> lab-555140{{"Verwendung des docker desktop enable model-runner Befehls zur Verwaltung von Model Runner-Einstellungen"}} docker/system -.-> lab-555140{{"Verwendung des docker desktop enable model-runner Befehls zur Verwaltung von Model Runner-Einstellungen"}} end

Docker Model Runner mit Standard-TCP-Port aktivieren

In diesem Schritt lernen Sie, wie Sie den Docker-Daemon so konfigurieren, dass er Verbindungen über einen Standard-TCP-Port akzeptiert. Standardmäßig kommuniziert der Docker-Daemon über einen Unix-Socket, was für lokalen Zugriff sicherer ist. Für Remote-Zugriff oder spezielle Anwendungsfälle kann jedoch die Aktivierung von TCP notwendig sein.

Um den Docker-Daemon für TCP-Verbindungen zu konfigurieren, müssen wir seine Konfigurationsdatei anpassen. Die Hauptkonfigurationsdatei für Docker befindet sich typischerweise unter /etc/docker/daemon.json. Falls diese Datei nicht existiert, können Sie sie erstellen.

Zuerst prüfen wir, ob die daemon.json-Datei existiert. Dazu verwenden wir den ls-Befehl.

ls /etc/docker/daemon.json

Falls die Datei existiert, wird der Befehl ihren Pfad ausgeben. Falls nicht, erscheint eine Fehlermeldung, die anzeigt, dass die Datei oder das Verzeichnis nicht gefunden wurde.

Nun bearbeiten oder erstellen wir die Datei /etc/docker/daemon.json mit dem nano-Editor. Wir fügen den hosts-Schlüssel hinzu oder modifizieren ihn, um die TCP-Adresse und den Port einzubinden. Der Standard-TCP-Port für Docker ist 2375 (unverschlüsselt) oder 2376 (TLS-verschlüsselt). In diesem Schritt verwenden wir der Einfachheit halber den unverschlüsselten Port 2375.

Öffnen Sie die Datei mit nano:

sudo nano /etc/docker/daemon.json

Falls die Datei leer war oder nicht existierte, fügen Sie folgenden Inhalt hinzu. Falls die Datei bereits Inhalt hatte, ergänzen oder ändern Sie den hosts-Schlüssel, um "tcp://0.0.0.0:2375" einzubinden. Der Eintrag unix:///var/run/docker.sock stellt sicher, dass der Daemon weiterhin auf dem Standard-Unix-Socket lauscht.

{
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}

Nachdem Sie den Inhalt hinzugefügt oder geändert haben, speichern Sie die Datei mit Strg + X, dann Y zur Bestätigung und Enter, um den Dateinamen zu übernehmen.

Damit die Änderungen wirksam werden, müssen Sie den Docker-Dienst neu starten. Dies erfolgt mit dem systemctl-Befehl.

sudo systemctl restart docker

Nach dem Neustart des Docker-Dienstes können Sie überprüfen, ob er auf dem TCP-Port lauscht, indem Sie den ss-Befehl verwenden, um nach lauschenden Sockets zu suchen. Wir prüfen speziell auf Port 2375.

sudo ss -tuln | grep 2375

Falls der Docker-Daemon erfolgreich auf Port 2375 lauscht, sollte eine ähnliche Ausgabe erscheinen, die einen Prozess auf diesem Port anzeigt:

tcp   LISTEN 0      4096   0.0.0.0:2375      0.0.0.0:*

Dies bestätigt, dass der Docker-Daemon nun über TCP auf Port 2375 erreichbar ist.

Docker Model Runner mit benutzerdefiniertem TCP-Port aktivieren

Im vorherigen Schritt haben wir den Docker-Daemon so konfiguriert, dass er auf dem Standard-TCP-Port 2375 lauscht. In diesem Schritt lernen Sie, wie Sie den Docker-Daemon stattdessen auf einem benutzerdefinierten TCP-Port einrichten. Dies kann aus Sicherheitsgründen oder zur Vermeidung von Port-Konflikten nützlich sein.

Wir werden erneut die Datei /etc/docker/daemon.json anpassen. Dabei ändern wir den TCP-Port von 2375 auf einen benutzerdefinierten Port, beispielsweise 2376.

Öffnen Sie die daemon.json-Datei mit dem nano-Editor:

sudo nano /etc/docker/daemon.json

Passen Sie den hosts-Schlüssel an, um den TCP-Port von 2375 auf 2376 zu ändern. Der Dateiinhalt sollte nun wie folgt aussehen:

{
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"]
}

Speichern Sie die Datei mit Strg + X, dann Y zur Bestätigung und Enter, um den Dateinamen zu übernehmen.

Nach der Konfigurationsänderung müssen Sie den Docker-Dienst neu starten, damit die Änderungen wirksam werden:

sudo systemctl restart docker

Nun überprüfen wir, ob der Docker-Daemon auf dem neuen benutzerdefinierten TCP-Port 2376 lauscht und nicht mehr auf dem Standard-Port 2375. Dazu verwenden wir erneut den ss-Befehl.

Zuerst prüfen wir Port 2376:

sudo ss -tuln | grep 2376

Die Ausgabe sollte anzeigen, dass ein Prozess auf Port 2376 lauscht:

tcp   LISTEN 0      4096   0.0.0.0:2376      0.0.0.0:*

Als nächstes bestätigen wir, dass nicht mehr auf Port 2375 gelauscht wird:

sudo ss -tuln | grep 2375

Dieser Befehl sollte keine Ausgabe produzieren, was bestätigt, dass der Docker-Daemon nicht mehr auf Port 2375 lauscht.

Damit haben wir erfolgreich den Docker-Daemon für einen benutzerdefinierten TCP-Port konfiguriert.

TCP-Verbindung für Docker Model Runner deaktivieren

In den vorherigen Schritten haben wir den Docker-Daemon so konfiguriert, dass er auf einem Standard- und später einem benutzerdefinierten TCP-Port lauscht. Während TCP für Remote-Zugriff nützlich sein kann, ist es generell sicherer, diese Funktion zu deaktivieren, wenn sie nicht benötigt wird, und stattdessen den standardmäßigen Unix-Socket für lokale Kommunikation zu verwenden.

In diesem Schritt lernen Sie, wie Sie die TCP-Verbindung für den Docker-Daemon deaktivieren, indem Sie den TCP-Host-Eintrag aus der Konfigurationsdatei entfernen.

Wir werden erneut die Datei /etc/docker/daemon.json mit dem nano-Editor bearbeiten.

Öffnen Sie die daemon.json-Datei:

sudo nano /etc/docker/daemon.json

Passen Sie den hosts-Schlüssel an, indem Sie den TCP-Eintrag entfernen ("tcp://0.0.0.0:2376" oder "tcp://0.0.0.0:2375", abhängig vom vorherigen Schritt). Der Dateiinhalt sollte nun nur noch den Unix-Socket-Eintrag enthalten:

{
  "hosts": ["unix:///var/run/docker.sock"]
}

Speichern Sie die Datei mit Strg + X, dann Y zur Bestätigung und Enter, um den Dateinamen zu übernehmen.

Nach der Konfigurationsänderung müssen Sie den Docker-Dienst neu starten, damit die Änderungen wirksam werden:

sudo systemctl restart docker

Nun überprüfen wir, ob der Docker-Daemon nicht mehr auf einem TCP-Port lauscht. Dazu verwenden wir den ss-Befehl und prüfen sowohl Port 2375 als auch 2376.

Prüfen auf Port 2375:

sudo ss -tuln | grep 2375

Dieser Befehl sollte keine Ausgabe produzieren.

Prüfen auf Port 2376:

sudo ss -tuln | grep 2376

Auch dieser Befehl sollte keine Ausgabe produzieren.

Dies bestätigt, dass wir die TCP-Verbindung für den Docker-Daemon erfolgreich deaktiviert haben. Der Daemon ist nun nur noch über den standardmäßigen Unix-Socket erreichbar, was die sicherere Standardkonfiguration für lokalen Zugriff darstellt.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man die Einstellungen des Docker Model Runners verwaltet, indem wir TCP-Verbindungen für den Docker-Daemon aktiviert und deaktiviert haben. Wir begannen damit, den Docker-Daemon so zu konfigurieren, dass er auf dem Standard-TCP-Port 2375 lauscht, indem wir die Konfigurationsdatei /etc/docker/daemon.json bearbeitet und "tcp://0.0.0.0:2375" zum hosts-Array hinzugefügt haben. Anschließend wurde der Docker-Dienst neu gestartet.

Das Lab behandelt auch, wie man den Docker-Daemon mit einem benutzerdefinierten TCP-Port aktiviert und wie man TCP-Verbindungen vollständig deaktiviert, indem man den TCP-Eintrag aus dem hosts-Array in der daemon.json-Datei entfernt und den Docker-Dienst neu startet. Diese Schritte zeigen, wie man die Netzwerkzugänglichkeit von Docker für verschiedene Anwendungsfälle konfiguriert.