So stellen Sie mit einem Zertifikat eine Verbindung zu einem Remote-Docker-Server her

So stellen Sie mit einem Zertifikat eine Verbindung zu einem Remote-Docker-Server her

Bevor wir mit der Remote-Verbindung zum Docker-Server beginnen, müssen wir sicherstellen, dass Docker auf dem Remote-Server installiert wurde und dass Docker auf dem Server normal ausgeführt wird. Führen Sie als Nächstes die Schritte zur Remote-Verbindung mit Docker mit IDEA-Zertifikaten aus.

1. Verwenden Sie Skripte, um TLS für Docker zu verschlüsseln

Das folgende Skript ist ein Zitat aus „Docker Remote API One-Click TLS-Verschlüsselung“. Verwenden Sie als Nächstes dieses Skript, um die Generierung der verschlüsselten Zertifikatsdatei abzuschließen.

Erstellen Sie ein Verschlüsselungsskript im /root-Verzeichnis: vi create_verify.sh.

Beachten Sie, dass Sie im Abschnitt „xxxx“ des Skripts die öffentliche IP-Adresse Ihres Servers eingeben müssen.

#!/bin/bash
mkdir -p /root/tls/pem
#DOMAIN_HOST=`ifconfig eth0 | grep "inet" | awk '{ print $2}' | sed -n '1p;1q'`
DOMAIN_HOST=`Hostname`
HOST=$DOMAIN_HOST
# Benutzerdefinierte Informationen PASSWORD="HeDongHudj"
LAND=CN
PROVINZ=gd
STADT=gz
ORGANISATION=dounine
GRUPPE=dg
NAME=See
SUBJ="/C=$LAND/ST=$PROVINZ/L=$STADT/O=$ORGANISATION/OU=$GRUPPE/CN=$HOST"
# Benutzerdefinierte Informationen#=================================================================================================================
#Mit diesem Formular stellen Sie sich selbst ein Zertifikat aus. Sie sind die Zertifizierungsstelle, oder Sie können es einer Drittorganisation zur Ausstellung von openssl genrsa -passout pass:$PASSWORD -aes256 -out /root/tls/pem/ca-key.pem 4096 geben.
# 2. Generieren Sie ein selbstsigniertes Stammzertifikat (Geschäftslizenz) mit dem privaten RSA-Schlüssel des Stammzertifikats
openssl req -new -x509 -days 365 -passin pass:$PASSWORT -key /root/tls/pem/ca-key.pem -sha256 -subj $SUBJ -out /root/tls/pem/ca.pem
#============================================================================================
#Stellen Sie dem Server ein Zertifikat aus# 1. Der Server generiert seinen eigenen privaten Schlüssel openssl genrsa -out /root/tls/pem/server-key.pem 4096
# 2. Der Server generiert ein Zertifikat (das den öffentlichen Schlüssel und die Serverinformationen enthält)
openssl req -new -sha256 -key /root/tls/pem/server-key.pem -out /root/tls/pem/server.csr -subj "/CN=$DOMAIN_HOST"
# 3. Wie verbinde ich mich mit mir? Sie können mehrere IP-Adressen festlegen und diese durch Kommas trennen. echo subjectAltName=IP:xxxx,IP:0.0.0.0 > /tmp/extfile.cnf
# 4. Die Zertifizierungsstelle stempelt das Zertifikat, um es wirksam zu machen openssl x509 -passin pass:$PASSWORD -req -days 365 -sha256 -in /root/tls/pem/server.csr -CA /root/tls/pem/ca.pem -CAkey /root/tls/pem/ca-key.pem -CAcreateserial -out /root/tls/pem/server-cert.pem -extfile /tmp/extfile.cnf
#============================================================================================
#Stellen Sie dem Client ein Zertifikat aus openssl genrsa -out /root/tls/pem/client-key.pem 4096
openssl req -subj '/CN=client' -new -key /root/tls/pem/client-key.pem -out /root/tls/pem/client.csr
echo extendedKeyUsage = clientAuth > /tmp/extfile.cnf
openssl x509 -passin pass:$PASSWORT -req -days 365 -sha256 -in /root/tls/pem/client.csr -CA /root/tls/pem/ca.pem -CAkey /root/tls/pem/ca-key.pem -CAcreateserial -out /root/tls/pem/client-cert.pem -extfile /tmp/extfile.cnf
#============================================================================================
# Bereinigen Sie die Datei rm -rf /root/tls/pem/ca-key.pem
rm -rf /root/tls/pem/{server,client}.csr
rm -rf /root/tls/pem/ca.srl
# Endgültige Datei# ca.pem == CA-Zertifikat# client-cert.pem == Client-Zertifikat# client-key.pem == Privater Client-Schlüssel# server-cert.pem == Server-Zertifikat# server-key.pem == Privater Server-Schlüssel

Nachdem das Skript erstellt wurde, führen Sie es aus: sh create_verify.sh

Nach der Ausführung des Shell-Skripts werden die Zertifikatsdateien ca.pem, client-cert.pem, client-key.pem, server-cert.pem und server-key.pem im Verzeichnis /root/tls/pem generiert.

Kopieren Sie als Nächstes die drei Dateien ca.pem, client-cert.pem und client-key.pem in ein beliebiges lokales Verzeichnis und benennen Sie client-cert.pem und client-key.pem in cert.pem bzw. key.pem um. Denken Sie daran, dass dieses Verzeichnis später verwendet wird.

2. Ändern Sie die Docker-Konfiguration und aktivieren Sie den Fernzugriff

$ vi /usr/lib/systemd/system/docker.service

Suchen Sie die entsprechende Zeile, die mit ExecStart beginnt, und ändern Sie sie in den folgenden Inhalt. Geben Sie jetzt die Zertifikatsinformationen ein und verwenden Sie Port 2376 für die Verbindung. Wenn es sich bei dem Server um Alibaba Cloud oder Tencent Cloud handelt, muss dieser Port in der Firewall geöffnet werden.

Docker neu starten:

$ systemctl daemon-neu laden
$ systemctl Neustart Docker

3. Verwenden Sie idea, um die Verbindung zu testen

Installieren Sie das Docker-Plugin auf idea. Dieser Schritt wird hier nicht wiederholt. Geben Sie dann die relevanten Informationen wie in der Abbildung gezeigt ein. Die Zertifikatsinformationen sind die drei Dateien, die wir gerade vom Server kopiert haben. Wählen Sie das gerade gespeicherte Verzeichnis aus. Wenn Sie die folgende Eingabeaufforderung sehen, bedeutet dies, dass die Verbindung erfolgreich war!

Nach erfolgreicher Remote-Verbindung zum Docker-Server können wir unser eigenes Projekt in einen Spiegel umwandeln und es auf dem Server k8s bereitstellen.

Dies ist das Ende dieses Artikels über die Implementierung einer Remote-Docker-Server-Zertifikatverbindung. Weitere relevante Inhalte zu Docker-Remote-Verbindungszertifikaten finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Docker stellt eine MySQL-Remoteverbindung bereit, um 2003-Probleme zu lösen
  • Tutorial zur Installation von MySQL mit Docker und zur Implementierung einer Remote-Verbindung
  • Detailliertes Tutorial zum Herstellen einer Verbindung zu einem Remote-Server-Docker zum Bereitstellen eines Spring Boot-Projekts in IDEA
  • Tutorial zur Verwendung von Portainer zum Herstellen einer Verbindung mit einem Remote-Docker
  • Docker stellt MySQL bereit, um Beispielcode für eine Remoteverbindung zu erreichen
  • Detaillierte Erläuterung der Remote-Verbindungseinstellungen des Docker-Daemons

<<:  HTML-Cellpadding- und Cellspacing-Attribute in Bildern erklärt

>>:  Methoden zum Defragmentieren und Freigeben von Speicherplatz in MySQL-Tabellen

Artikel empfehlen

Three.js-Beispielcode zur Implementierung des Tautropfen-Animationseffekts

Vorwort Hallo zusammen, hier ist der CSS-Assisten...

Mehrere Möglichkeiten zum Sichern einer MySql-Datenbank

mysqldump-Tool-Sicherung Sichern Sie die gesamte ...

JavaScript-Canvas zum Erzielen eines farbenfrohen Uhreffekts

Verwenden Sie Leinwand, um eine bunte Uhr zu schr...

JavaScript realisiert die Generierung und Überprüfung von Zufallscodes

Die Generierung und Überprüfung von Zufallscodes ...

So greifen Sie über die IP-Adresse auf MySql zu

1. Melden Sie sich bei MySQL an: mysql -u root -h...

CentOS 7.x Docker verwendet die Overlay2-Speichermethode

Bearbeiten Sie /etc/docker/daemon.json und fügen ...

JavaScript-HTML zur Implementierung der mobilen Red Envelope Rain-Funktionsseite

In diesem Artikelbeispiel wird der spezifische HT...

Schritte zur VMware-Konfiguration des VMnet8-Netzwerks

Inhaltsverzeichnis 1. Einleitung 2. Konfiguration...

Wofür wird jQuery verwendet? jQuery ist eigentlich ein js-Framework

Einführung in jQuery Die jQuery-Bibliothek kann e...

Warum ich Nginx als Backend-Server-Proxy empfehle (Gründeanalyse)

1. Einleitung Unsere realen Server sollten nicht ...

Auf den Alibaba Cloud Server Tomcat kann nicht zugegriffen werden

Inhaltsverzeichnis 1. Einleitung 2. Lösung 2.1 Ko...