Fügen Sie einem Dienst in Docker-Compose einen Hostnamen hinzu

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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - Docker Compose