Konfigurieren Sie Docker für das Setup des monitorlosen Browsers in Linux

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Schritt 2 im Linux -Setup für den ServiceNow® Headless Browser for ATF: Konfigurieren Sie Docker-Server so, dass alle Anforderungen authentifiziert werden.

    Vorbereitungen

    Abgeschlossener Schritt 1: Generieren von Zertifikaten für das Setup des monitorlosen Browsers für Linux

    Erforderliche Rolle: admin in Ihrer Instanz ServiceNow und lokaler Administrator auf dem Hostcomputer.

    Diese Aufgabe: Nachdem Sie Ihre Client- und Serverschlüssel wie in Schritt 1 beschrieben erstellt haben, konfigurieren Sie nun den Docker-Server so, dass alle Anforderungen mit diesen Schlüsseln authentifiziert werden, und stellen die Docker-API an Port 2376 bereit.

    Prozedur

    1. Konfigurieren Sie Docker für die Verwendung der Zertifikate, die Sie in Schritt 1 generiert haben.
      1. Suchen oder erstellen Sie die Datei /etc/docker/daemon.json. Sie können Folgendes ausführen: Touch /etc/docker/daemon.json
      2. Bearbeiten Sie die Datei daemon.json, und fügen Sie die folgenden JSON-Werte hinzu. Stellen Sie sicher, dass Sie durch die richtigen Pfade zu Ihren Zertifikaten ersetzen:
        {
        "debug": true,
        "tlscacert": "<path to your certificates>/ca.pem",
        "tlscert": "<path to your certificates>/server-cert.pem",
        "tlskey": "<path to your certificates>/server-key.pem",
        "tlsverify": true
        }
        
      Weitere Informationen finden Sie unter Docker-Daemon konfigurieren.
    2. Konfigurieren Sie Docker so, dass die Remote-API an einem Port verfügbar gemacht wird (Port 2376 wird empfohlen).
      Sie können Docker so konfigurieren, dass Remoteverbindungen mit der systemd-Unit-Datei docker.service für Linux-Verteilungen mit systemdakzeptiert werden, z. B. aktuelle Versionen von RedHat, CentOS, Ubuntu und SLES, oder mit der Datei daemon.json, die für Linux-Verteilungen empfohlen wird Verwenden Sie nicht systemd.

      Bei Verwendung von systemd (systemctl):

      1. Verwenden Sie den Befehl sudo systemctl edit Docker.service, um eine Überschreibungsdatei für Docker.service in einem Texteditor zu öffnen.
      2. Fügen Sie die folgenden Zeilen hinzu, oder ändern Sie sie. Ersetzen Sie Ihren eigenen Port, wenn Sie nicht 2376 verwenden.
        [Service]
        ExecStart=
        ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376
      3. Speichern Sie die Datei.
      4. Laden Sie die systemctl-Konfiguration neu.

        sudo systemctl daemon-reload

      5. Starten Sie Docker neu

        sudo systemctl restart docker.service

    3. Um den Docker-Zugriff für den aktuellen Benutzer über eine Befehlszeile zu aktivieren, kopieren Sie Zertifikate in das Docker-Stammverzeichnis des Benutzers:
      • mkdir -pv ~/.docker
      • cp ca.pem ~/.docker
      • cp client-key.pem ~/.docker/key.pem
      • cp client-cert.pem ~/.docker/cert.pem
    4. Legen Sie die Umgebungsvariablen DOCKER_HOST und DOCKER_TLS_VERIFY für Ihren Benutzer fest:
      • echo "export DOCKER_HOST=tcp://${SERVERIP}:2376 DOCKER_TLS_VERIFY=1" >> ~/.bash_profile
      • Quelle ~/.bash_profile

      Weitere Informationen finden Sie unter Docker als Nicht-Root-Benutzer verwalten.