Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Konfigurieren des Docker-Container-DNS

Wenn Docker auf einem virtuellen Gerät ausgeführt wird (Docker für Mac, Docker für Windows), unterscheidet sich die Standardkonfiguration des Container-DNS von derjenigen auf dem physischen Gerät. In diesem Fall müssen Sie das DNS in der mit der Remote Engine Gen2 bereitgestellten Docker-Konfigurationsdatei konfigurieren.

Prozedur

  1. Navigieren Sie zum Installationsverzeichnis von Remote Engine Gen2 und öffnen Sie die folgende Datei, um sie zu bearbeiten.
    default/docker-compose.yml, wenn Sie die Engine in den Regionen AWS USA, AWS Europa, AWS Asien/Pazifik oder Azure einsetzen.

    eap/docker-compose.yml, wenn Sie die Engine im Rahmen eines Early-Adopter-Programms verwenden.

  2. Für die Konfiguration:
    1. der dynamischen DNS-Auflösung fügen Sie Namensserver in einer dns-Section oder Suffixe in einer dns_search-Section hinzu. Die Suffixe werden für die DNS-Auflösung automatisch zu den Hostnamen hinzugefügt. Die in der Section dns_search aufgeführten Einträge werden in der Datei /etc/resolv.conf jedes Containers angezeigt.

      Example

      dns:
        - 8.8.8.8
        - 9.9.9.9
      dns_search:
        - dc1.example.com
        - dc2.example.com
    2. der statischen DNS-Auflösung fügen Sie Einträge in einer extra_hosts-Section hinzu. Diese Einträge werden automatisch in der Datei /etc/hosts jedes Containers hinzugefügt.
      InformationshinweisAnmerkung: Die zwei Remote Engine Gen2-Container livy und component-server benötigen externe Verbindungen, deshalb ist die DNS-Konfiguration ggf. für beide Container erforderlich.

      Example

      extra_hosts:
       - "somehost:162.242.195.82"
       - "otherhost:50.31.209.229"
  3. Speichern Sie die Datei.

Ergebnisse

docker-compose.yml sollte folgendermaßen aussehen:
version: '3.6'

networks: ...

volumes:...

services:
 ...
 component-server:
  image: ${COMPONENTS_IMG}
  ...
  labels:...
  dns:
  - 8.8.8.8
  - 9.9.9.9
  dns_search:
  - dc1.example.com
  - dc2.example.com  
  extra_hosts:
  - "somehost:162.242.195.82"
  - "otherhost:50.31.209.229"
...

Weitere Informationen finden Sie in der Docker-Dokumentation.

Erfahren Sie mehr:

Die Dienste von Remote Engine Gen2 werden als Docker-Container in einem benutzerdefinierten Bridge-Netzwerk namens remote-engine_default ausgeführt.
InformationshinweisTipp: Sie können die Präsenz dieser benutzerdefinierten Bridge prüfen, indem Sie den Befehl docker network ls ausführen.
Ab Docker-Version 1.10 integrieren die benutzerdefinierten Bridge-Netzwerke einen DNS-Server. Weitere Informationen zu integrierten DNS-Servern und benutzerdefinierten Netzwerken finden Sie in der Docker-Dokumentation.

Eine Reihe von zur Laufzeit angegebenen Optionen können die DNS-Dienstauflösung für die Docker-Container beeinflussen, wenn diese Optionen jedoch fehlen, verwendet Docker standardmäßig /etc/resolv.conf des Hostgeräts. Das Hostgerät ist das Gerät, auf dem der Docker-Dämon ausgeführt wird. In manchen Fällen wird Docker ggf. nicht auf dem physischen Gerät, sondern auf einem virtuellen Gerät ausgeführt. Aus diesem Grund müssen Sie das Docker-Container-DNS unter Umständen manuell in der Datei docker-compose.yml konfigurieren.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!