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:
|
<<: Praxis der mehrschichtigen verschachtelten Anzeige von Elementtabellen
>>: Verwendung des MySQL Query Rewrite-Plugins
Inhaltsverzeichnis Vorwort Statischer Umfang vs. ...
Vorne geschrieben Eine Datenbank ist im Wesentlic...
Inhaltsverzeichnis 1. Ressourcendateien 2. Instal...
Dataframe ist eine neue API, die in Spark 1.3.0 e...
1. Grundlegende Implementierung des Limits Im All...
Nach einem abnormalen Herunterfahren von VMware w...
Manchmal sehen Sie in der if-Anweisung in JavaScr...
In diesem Artikel wird der spezifische Code von j...
In letzter Zeit muss ich im Projekt viele fragmen...
In diesem Artikel wird hauptsächlich die Implemen...
Dieser Artikel beschreibt eine native JS-Implemen...
Vorwort: Bei der Projektentwicklung werden in ein...
Bei der Verwendung von TensorFlow für Deep Learni...
Voraussetzungen Ein Cloud-Server (centOS von Alib...
1. Laden Sie das MySQL-Installationspaket herunte...