Fügen Sie einem Dienst in Docker-Compose einen Hostnamen hinzu
Jeder Container für den Dienst in Docker tritt dem Standardnetzwerk bei. Er ist für andere Container in diesem Netzwerk erreichbar und kann von ihnen unter einem Hostnamen erkannt werden, der mit dem Containernamen identisch ist.
Dieser Artikel behandelt das Hinzufügen von Hostnamen zu unserem Containerdienst in docker-compose
.
Fügen Sie einem Dienst in Docker-Compose einen Hostnamen hinzu
Als docker-compose
Version 3.0 können wir den Schlüssel hostname
verwenden und ihn unserer YAML-Datei hinzufügen. Stellen Sie sicher, dass wir die Version dessen, was docker-compose
beim Ausführen unserer Dienste verwendet, klar definiert haben.
Um die Version zu ermitteln, verwenden Sie den Schlüssel version
mit dem Wert 3
oder 3.0
.
version: "3.0"
services:
sampleservice:
hostname: service-hostname
Ohne den Schlüssel version
verwendet docker-compose
beim Ausführen des Dienstes den Standardwert von Version 1. Mit Version 1 werden wir unseren Hostnamen nicht korrekt einrichten.
Es gibt jedoch ein bekanntes Problem, bei dem der Hostname für andere Container nicht sichtbar ist, wenn wir den Befehl docker run
ausführen. Als Workaround können wir stattdessen einen Alias definieren und dem Container einen Namen zuweisen.
Um einen Alias zu definieren, aktivieren Sie zuerst definierte Aliase, indem Sie den folgenden Befehl ausführen.
docker-compose run --use-aliases
Nach dem Ausführen können wir den Schlüssel aliases
verwenden und in unsere YAML-Datei aufnehmen.
version: "3.0"
services:
sampleservice:
networks:
samplenetwork:
aliases:
- alias1
- alias2
Weisen Sie anschließend dem Dienst mit dem folgenden Befehl den Alias manuell zu.
docker-compose run --name alias1 sampleservice
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn