2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Vor ein paar Tagen habe ich eine riesige Website zum Lernen von künstlicher Intelligenz entdeckt. Sie ist leicht verständlich und humorvoll. Ich konnte nicht anders, als sie mit allen zu teilen. 【Klicken Sie hier, um zur Website zu springen】
In diesem Artikel wird hauptsächlich die schnelle Bereitstellung von MongoDB im Linux-Ubuntu-System vorgestellt und das Intranet-Penetrationstool cpolar kombiniert, um über das öffentliche Netzwerk Fernzugriff auf die lokale Datenbank zu erreichen.
Der MongoDB-Server kann auf Linux-, Windows- und MacOS-Plattformen ausgeführt werden. Die unterstützte Abfragesprache ist sehr leistungsfähig. Er kann die meisten Funktionen ähnlich wie Einzeltabellenabfragen in relationalen Datenbanken realisieren Indexdaten.
Es ist komplizierter, MongoDB direkt mit dem Paketmanager zu installieren, aber es ist relativ einfach und schnell, MongoDB mit Docker zu installieren und bereitzustellen. Lassen Sie uns den spezifischen Vorgangsprozess mit Ihnen teilen.
Die Betriebsumgebung dieses Tutorials ist das Linux-Ubuntu-System. Bevor wir beginnen, müssen wir Docker installieren.
Führen Sie im Terminal den folgenden Befehl aus:
Docker-Quelle hinzufügen
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Installieren Sie das Docker-Paket
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Überprüfen Sie, ob die Installation der Docker-Engine erfolgreich war, indem Sie das Image ausführen
sudo docker run hello-world
sudo docker pull mongo
Führen Sie dann den Befehl „Bild anzeigen“ aus:
sudo docker images
Sie können sehen, dass das MongoDB-Image erfolgreich abgerufen wurde.
Nachdem wir das MongoDB-Image erfolgreich abgerufen haben, können wir das Image verwenden, um einen MongoDB-Container zu erstellen und auszuführen.
Erstellen Sie zunächst das Speicherverzeichnis /docker_mount/mongodb/data auf dem Host-Computer, um MongoDB-Daten beizubehalten.
Sie können es mit dem folgenden Befehl erstellen:
sudo mkdir -p /docker_mount/mongodb/data
Führen Sie dann im Terminal den folgenden Befehl aus, um den Container auszuführen:
sudo docker run -d -p 27017:27017 --name mongodb -v /docker_mount/mongodb/data:/data/db -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=password mongo
Parameterbeschreibung:
Führen Sie dann den folgenden Befehl aus, um zu prüfen, ob der Container ausgeführt wird:
sudo docker ps
Sie können sehen, dass der gerade erstellte MongoDB-Container ausgeführt wird.
OK, nach dem obigen Vorgang ist die Docker-Bereitstellung von Mongodb abgeschlossen. Jetzt können wir Verbindungstests über Navicat durchführen.
Die von mir verwendete Navicat-Version ist 16. Erstellen Sie eine neue Mongodb-Verbindung wie unten gezeigt:
Host Geben Sie die Host-IP ein, Sie können sie im Terminal eingeben ip addr
Befehl zum Anzeigen.
Geben Sie den Port ein: 27017
Verifizierung ausfüllen: admin
Geben Sie den Benutzernamen und das Passwort mit dem Konto und Passwort ein, das Sie gerade beim Starten des Containers festgelegt haben: root und Passwort
Klicken Sie dann auf Verbindung testen und Sie können sehen, dass die Verbindung erfolgreich ist!
Allerdings können wir derzeit nur eine lokale Verbindung zu dem MongoDB-Dienst herstellen, den wir gerade mit Docker bereitgestellt haben. Was ist, wenn wir uns an einem anderen Ort befinden und remote auf den lokal bereitgestellten MongoDB-Container zugreifen möchten, aber keine öffentliche IP haben?
Wir können das Intranet-Penetrationstool cpolar verwenden, um Fernzugriffsanforderungen in einer Umgebung ohne öffentliche Netzwerk-IP zu erfüllen.
Im Folgenden sind die Schritte zur Installation von cpolar aufgeführt:
Offizielle Website-Adresse von cpolar: https://www.cpolar.com
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
sudo systemctl enable cpolar
sudo systemctl start cpolar
Nachdem cpolar erfolgreich installiert wurde, greifen Sie über einen externen Browser auf den Linux-Port 9200 zu: [http://Server-LAN-IP:9200]. Nach der Anmeldung können Sie die Webkonfigurationsoberfläche von cpolar sehen im Web Konfigurieren Sie einfach die Verwaltungsoberfläche.
Nachdem Sie sich bei der Web-UI-Verwaltungsoberfläche von cpolar angemeldet haben, klicken Sie im linken Dashboard auf Tunnelverwaltung – Tunnel erstellen:
Klicken创建
Öffnen Sie dann die Online-Tunnelliste, zeigen Sie die öffentliche Adresse des TCP-Protokolls an und kopieren Sie sie.注意tcp://无需复制
Öffnen Sie Navicat oder andere Verbindungstools, geben Sie die in unserem Cpolar oben erstellte öffentliche Netzwerkadresse in die Host-Option ein, und die Portnummer entspricht der Portnummer des öffentlichen Netzwerks, die nach dem Doppelpunkt in der Adresse generiert wird.
Klicken Sie dann auf Verbindung testen und Sie können sehen, dass die Verbindung erfolgreich ist!
Zusammenfassung
Zur Vereinfachung der Demonstration haben wir im obigen Vorgang den von cpolar generierten TCP-Tunnel für öffentliche Netzwerkadressen verwendet und seine öffentliche Netzwerkadresse wurde zufällig generiert.
Der Vorteil dieser Zufallsadresse besteht darin, dass sie schnell ermittelt wird und sofort verwendet werden kann. Der Nachteil besteht jedoch darin, dass die URL zufällig generiert wird und sich diese Adresse innerhalb von 24 Stunden zufällig ändert, wodurch sie besser für die vorübergehende Verwendung geeignet ist.
Wenn Sie langfristig Fernzugriff auf den lokalen MongoDB-Dienst benötigen, die öffentliche Netzwerkadresse jedoch nicht jeden Tag neu konfigurieren möchten und außerdem möchten, dass die Adresse schön und leicht zu merken ist, empfehle ich Ihnen, sich für die Verwendung zu entscheiden eine feste TCP-Adresse für den Fernzugriff.
AnmeldungBackend der offiziellen cpolar-WebsiteKlicken Sie links auf „Reservieren“, um die reservierte TCP-Adresse zu finden. Reservieren wir eine feste TCP-Adresse für die Remote-Verbindung zur MongoDB-Datenbank.
Klicken保留
Nachdem die Adresse erfolgreich reserviert wurde, generiert das System die entsprechende feste öffentliche Adresse und kopiert sie.
In diesem Beispiel lautet die Adresse: 6.tcp.vip.cpolar.cn:13644
Rufen Sie es dann in Ihrem Browser aufLinux局域网ip地址+:9200端口
, melden Sie sich bei der cpolar Web-UI-Verwaltungsoberfläche an.
Klicken Sie im linken Dashboard auf Tunnelverwaltung – Tunnelliste, suchen Sie den oben erstellten Remote-Datenbanktunnel und klicken Sie auf编辑
Ändern Sie die Tunnelinformationen und konfigurieren Sie die erfolgreich reservierte feste TCP-Adresse im Tunnel.
Klicken更新
Nachdem der Tunnel erfolgreich aktualisiert wurde, klicken Sie auf den Status im linken Dashboard – Online-Tunnelliste. Sie können sehen, dass die öffentliche Netzwerkadresse auf eine feste TCP-Adresse aktualisiert wurde.
Öffnen Sie das Verbindungstool, geben Sie die von der offiziellen Website reservierte feste TCP-Adresse ein, der Port ist die entsprechende Portnummer des öffentlichen Netzwerks nach der Adresse und klicken Sie auf Verbindung testen.
Eine erfolgreiche Verbindung zeigt an, dass die öffentliche Netzwerkadresse nicht mehr zufällig geändert wird. Solange der Tunnel online bleibt, können wir über diese öffentliche Netzwerkadresse eine Remoteverbindung zur MongoDB-Datenbank herstellen.
Das Obige ist der gesamte Prozess, wie Sie mit Docker einen MongoDB-Container auf dem Ubuntu-System bereitstellen und ihn mit dem cpolar-Intranet-Penetrationstool kombinieren, um vom öffentlichen Netzwerk aus Fernzugriff auf lokale Dienste im Intranet zu erhalten.