Implementierung der Bereitstellung des Apollo-Konfigurationscenters mithilfe von Docker in CentOS7

Implementierung der Bereitstellung des Apollo-Konfigurationscenters mithilfe von Docker in CentOS7

Apollo Open Source-Adresse:

https://github.com/ctripcorp/apollo

erster Schritt

Klonen Sie das Projekt lokal und laden Sie dann drei ZIP-Dateien von der Release-Seite auf GitHub herunter.

Dieser Artikel konzentriert sich auf die Bereitstellungsmethode der neuesten Version 1.2.0 vom Januar 2019

Schritt 2

Öffnen Sie das geklonte lokale Projekt. Die Verzeichnisstruktur ist wie folgt

Schritt 3

Erstellen Sie in diesem Verzeichnis eine Datei docker-compose.yml und schreiben Sie den folgenden Inhalt:

Version: "3"

Leistungen:
 apollo-configservice: ##Container-Dienstnamecontainer_name: apollo-configservice ##Containernamebuild: apollo-configservice/src/main/docker/ ##Dockerfile-Pfadimage: apollo-configservice ##Image-Nameports:
   - „9180:8080“  
  Bände:
   - "/opt/logs/100003171" ##Mounten Sie das Verzeichnis /opt/logs/100003171 im Verzeichnis /Users/mobin/opt/logs/100003171 des Hosts, um das Anzeigen der Protokolle in der Hostumgebung zu erleichtern:
   – spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloConfigDB?characterEncoding=utf8
   -spring_datasource_username=root
   -spring_datasource_password=123456

 apollo-Admindienst:
  Containername: apollo-adminservice
  Erstellen: apollo-adminservice/src/main/docker/
  Bild: apollo-adminservice
  Häfen:
   - „9181:8090“
  hängt ab von:
   - Apollo-Konfigurationsdienst
  Bände:
   - „/opt/logs/100003172“
  Umfeld:
   – spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloConfigDB?characterEncoding=utf8
   -spring_datasource_username=root
   -spring_datasource_password=123456

 Apollo-Portal:
  Containername: Apollo-Portal
  Erstellen: apollo-portal/src/main/docker/
  Bild: Apollo-Portal
  Häfen:
   - „9182:8070“
  hängt ab von:
   - Apollo-Adminservice
  Bände:
   - „/opt/logs/100003173“
  Umfeld:
   – spring_datasource_url=jdbc:mysql://192.168.31.136:3306/ApolloPortalDB?characterEncoding=utf8
   -spring_datasource_username=root
   -spring_datasource_password=123456

Beachten Sie hier zwei Punkte:

1. Hier ordne ich die ursprünglichen Ports 8080, 8070 und 8090 jeweils den Ports 9180, 9181 und 9182 zu, da die Ports 8080 und andere Ports häufig verwendete Ports sind und möglicherweise mit anderen Projekten in Konflikt geraten.

2. Denken Sie daran, die Verbindungsadresse von MySQL zu ändern

Lassen Sie mich das erklären. Manche Leute fragen sich vielleicht, warum sie nicht das im Apollo-Projekt bereitgestellte Quickstart-Docker-Skript verwenden, weil:

In quickstart-docker hat das Apollo Open Source-Projektteam eine Reihe von Konfigurationen wie MySQL integriert, um Bereitstellungsvorgänge zu reduzieren. Wir werden die integrierten Dinge definitiv nicht verwenden, wenn wir sie verwenden. Wir hoffen, die Daten in unserer eigenen MySQL-Datenbank speichern zu können. Außerdem dient quickstart-docker unserer Vereinfachung bei der Demonstration

Schritt 4

Kopieren Sie die drei im ersten Schritt heruntergeladenen Zip-Dateien jeweils in die folgenden Verzeichnisse

<1>

<2>

<3>

Beachten:

Diese drei Verzeichnisse entsprechen den Diensten apollo-adminservice, apollo-configservice und apollo-portal. Gleichzeitig müssen wir die Dockerfile-Dateien in diesen drei Verzeichnissen ändern. Öffnen Sie die Dockerfile-Datei

Hier stellen wir fest, dass die im Dockerfile angegebene Versionsnummer 1.3.0-SNAPSHOT ist, das heruntergeladene Zip-Paket jedoch Version 1.2.0 ist. Daher müssen wir die Versionsnummern dieser drei Dockerfiles entsprechend ändern. Die geänderten Dateien lauten wie folgt:

Schritt 5

Melden Sie sich bei MySQL an, importieren Sie die SQL-Datei im folgenden Ordner und initialisieren Sie die Datenbank

Nach dem erfolgreichen Import werden zwei weitere Datenbanken angezeigt

Schritt 6

Packen Sie den gesamten Apollo-Projektordner in eine ZIP-Datei, laden Sie die Datei mit dem FTP- oder SCP-Befehl auf den CentOS7-Server hoch und führen Sie den folgenden Befehl auf dem Server aus

entpacken Sie apollo.zip
CD Apollo
docker-compose up -d

Dann sehen Sie die Befehlsausgabe

Dies bedeutet, dass die drei Docker-Container erfolgreich erstellt wurden.

verwenden

Docker ps -a

Docker-Dienst anzeigen

Es wird festgestellt, dass es erfolgreich ausgeführt wurde. Öffnen Sie nun den Browser und geben Sie ein

http://0.0.0.0:9182

Sie können die Apollo-Hintergrundverwaltungsseite sehen

Schritt 7

Obwohl die Bereitstellung in Schritt 6 abgeschlossen ist, müssen an zwei Stellen Änderungen vorgenommen werden, da sonst ein Fehler gemeldet wird.

1. Betreten Sie den Apollo-Portal-Container

Ändern Sie die Umgebungsvariablen von apollo-env

local.meta=http://localhost:9180
dev.meta=http://localhost:9180
fat.meta=http://localhost:9180
uat.meta=http://localhost:9180
lpt.meta=${lpt_meta}
pro.meta=http://localhost:9180

2. Ändern Sie das Feld eureka.service.url in der ServerConfig-Tabelle der ApolloConfigDB-Datenbank

http://localhost:9180/eureka/

Nachdem die Änderung abgeschlossen ist, starten Sie die drei Container von Apollo neu

Beachten:

Das Standardkonto ist apollo

Standardkennwort: admin

Öffnen Sie nach der Anmeldung bei Apollo die Systeminformationsseite. Dort sehen Sie eine Homepage-URL. Da wir in Docker bereitgestellt sind, ist die hier angezeigte IP-Adresse problematisch. Ihre IP-Adresse ist die Standard-IP-Adresse im Docker-Container. Diese Adresse ist problematisch, da wir beim Integrieren in das Projekt auf die Server-IP zugreifen und daher nicht auf die IP-Adresse im Docker-Container zugegriffen werden kann. Beim Integrieren stellen wir fest, dass wir die Apollo-Konfiguration nicht lesen können.

Die offizielle Methode zum Ändern der HomePageUrl ist angegeben, der Test ergab jedoch, dass immer noch Probleme bestehen

Offizielle Lösung

In Artikel 3

Es wird nicht empfohlen, HomePageUrl direkt zu ändern. Die beste Lösung ist wie folgt:

Fügen Sie den folgenden Code in der Anwendung hinzu

statisch{
  System.setProperty("Dapollo.configService","http://192.168.XX")
}

Dies ist das Ende dieses Artikels über die Verwendung von Docker zum Bereitstellen von Apollo Configuration Center auf CentOS7. Weitere Informationen zum Bereitstellen von Apollo Configuration Center auf Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detailliertes Tutorial zum Bereitstellen von Apollo mit Docker
  • Detailliertes Tutorial zum Bereitstellen einer benutzerdefinierten Apollo-Umgebung mit Docker-Compose

<<:  Praxis der mehrschichtigen verschachtelten Anzeige von Elementtabellen

>>:  Verwendung des MySQL Query Rewrite-Plugins

Artikel empfehlen

Ausführliche Erklärung des Sperrmechanismus in MySQL InnoDB

Vorne geschrieben Eine Datenbank ist im Wesentlic...

Ubuntu-Installation Matlab2020b, ausführliches Tutorial und Ressourcen

Inhaltsverzeichnis 1. Ressourcendateien 2. Instal...

MySQL verwendet ein Limit, um die Beispielmethode für Paging zu implementieren

1. Grundlegende Implementierung des Limits Im All...

Informationen zum Ausdruck „wenn Komma enthält“ in JavaScript

Manchmal sehen Sie in der if-Anweisung in JavaScr...

jQuery implementiert den Fall der Schriftgrößenanpassung

In diesem Artikel wird der spezifische Code von j...

Natives JS zur Implementierung der E-Mail-Eingabeaufforderung im Anmeldefeld

Dieser Artikel beschreibt eine native JS-Implemen...

So fragen Sie Datum und Uhrzeit in MySQL ab

Vorwort: Bei der Projektentwicklung werden in ein...

Detaillierte Erläuterung der Überwachung der NVIDIA GPU-Nutzung unter Linux

Bei der Verwendung von TensorFlow für Deep Learni...

Starten Sie die auf Docker basierende nginxssl-Konfiguration

Voraussetzungen Ein Cloud-Server (centOS von Alib...