2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Il y a quelques jours, j’ai découvert un site géant d’apprentissage de l’intelligence artificielle, facile à comprendre et humoristique, que je n’ai pas pu m’empêcher de partager avec tout le monde. 【Cliquez pour accéder au site Web】
Cet article présente principalement comment déployer rapidement MongoDB dans le système Linux Ubuntu et combine l'outil de pénétration intranet cpolar pour obtenir un accès à distance à la base de données locale sur le réseau public.
Le serveur MongoDB peut fonctionner sur les plates-formes Linux, Windows et MacOS. Il peut stocker des types de données relativement complexes. Le langage de requête qu'il prend en charge est très puissant et peut également réaliser la plupart des fonctions similaires aux requêtes à table unique. données d'indexation.
Il est plus compliqué d'installer MongoDB directement à l'aide du gestionnaire de packages, mais il est relativement simple et rapide d'installer et de déployer MongoDB à l'aide de Docker. Partageons avec vous le processus d'opération spécifique.
L'environnement d'exploitation de ce didacticiel est le système Linux Ubuntu Avant de commencer, nous devons installer Docker.
Exécutez la commande suivante dans le terminal :
Ajouter une source Docker
# 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
Installer le package Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Vérifiez que l'installation du moteur Docker a réussi en exécutant l'image
sudo docker run hello-world
sudo docker pull mongo
Exécutez ensuite la commande view image :
sudo docker images
Vous pouvez voir que l'image MongoDB a été extraite avec succès.
Après avoir réussi à extraire l'image MongoDB, nous pouvons utiliser l'image pour créer et exécuter un conteneur MongoDB.
Tout d'abord, créez le répertoire de stockage /docker_mount/mongodb/data sur la machine hôte pour conserver les données MongoDB.
Vous pouvez le créer à l'aide de la commande suivante :
sudo mkdir -p /docker_mount/mongodb/data
Exécutez ensuite la commande suivante dans le terminal pour exécuter le conteneur :
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
Description du paramètre :
Exécutez ensuite la commande suivante pour vérifier si le conteneur est en cours d'exécution :
sudo docker ps
Vous pouvez voir que le conteneur MongoDB qui vient d'être créé est en cours d'exécution.
OK, après le processus ci-dessus, le déploiement docker de mongodb est terminé. Nous pouvons maintenant effectuer des tests de connexion via Navicat.
La version de Navicat que j'utilise est la 16. Créez une nouvelle connexion mongodb comme indiqué ci-dessous :
Hôte, remplissez l'adresse IP de l'hôte, vous pouvez la saisir dans le terminal ip addr
commande à afficher.
Remplissez le port : 27017
Remplir la vérification : admin
Remplissez le nom d'utilisateur et le mot de passe avec le compte et le mot de passe que vous venez de définir lors du démarrage du conteneur : root et mot de passe
Cliquez ensuite sur Tester la connexion et vous pouvez voir que la connexion est réussie !
Cependant, nous ne pouvons actuellement nous connecter que localement au service MongoDB que nous venons de déployer à l'aide de Docker. Que se passe-t-il si nous sommes dans un endroit différent et souhaitons accéder à distance au conteneur MongoDB déployé localement mais n'avons pas d'adresse IP publique ?
Nous pouvons utiliser l'outil de pénétration intranet cpolar pour répondre aux exigences d'accès à distance dans un environnement sans réseau IP public.
Voici les étapes pour installer cpolar :
Adresse du site officiel de 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
Une fois cpolar installé avec succès, accédez au port Linux 9200 sur un navigateur externe : [http://IP LAN du serveur : 9200]. Connectez-vous avec votre compte cpolar. Après vous être connecté, vous pouvez voir l'interface de configuration Web de cpolar. sur le web Configurez simplement l'interface de gestion.
Après vous être connecté à l'interface de gestion de l'interface utilisateur Web cpolar, cliquez sur Gestion des tunnels - Créer un tunnel sur le tableau de bord de gauche :
Cliquez sur创建
Ouvrez ensuite la liste des tunnels en ligne, affichez et copiez l'adresse publique du protocole TCP,注意tcp://无需复制
Ouvrez Navicat ou d'autres outils de connexion, entrez l'adresse du réseau public créée dans notre cpolar ci-dessus dans l'option hôte, et le numéro de port correspond au numéro de port du réseau public généré après les deux points dans l'adresse.
Cliquez ensuite sur Tester la connexion et vous pouvez voir que la connexion est réussie !
résumé
Pour faciliter la démonstration, nous avons utilisé le tunnel d'adresse de réseau public TCP généré par cpolar dans le processus opérationnel ci-dessus, et son adresse de réseau public a été générée de manière aléatoire.
L’avantage de cette adresse aléatoire est qu’elle est établie rapidement et peut être utilisée immédiatement. Cependant, son inconvénient est que l'URL est générée de manière aléatoire et que cette adresse changera de manière aléatoire dans les 24 heures, la rendant plus adaptée à une utilisation temporaire.
Si vous avez besoin à long terme d'un accès à distance au service MongoDB local, mais que vous ne souhaitez pas reconfigurer l'adresse du réseau public tous les jours et que vous souhaitez également que l'adresse soit agréable et facile à retenir, alors je vous recommande de choisir d'utiliser une adresse TCP fixe pour l'accès à distance.
Se connecterbackend du site officiel de cpolar, cliquez sur Réserver à gauche pour trouver l'adresse TCP réservée. Réservons une adresse TCP fixe pour la connexion à distance à la base de données MongoDB.
Cliquez sur保留
Une fois l'adresse réservée avec succès, le système générera l'adresse publique fixe correspondante et la copiera.
Dans cet exemple, l'adresse est : 6.tcp.vip.cpolar.cn:13644
Accédez-y ensuite sur votre navigateurLinux局域网ip地址+:9200端口
, connectez-vous à l'interface de gestion de l'interface utilisateur Web cpolar.
Cliquez sur Gestion des tunnels - Liste des tunnels sur le tableau de bord de gauche, recherchez le tunnel de base de données distant que nous avons créé ci-dessus, puis cliquez sur编辑
Modifiez les informations du tunnel et configurez l'adresse TCP fixe réservée avec succès dans le tunnel.
Cliquez sur更新
Une fois le tunnel mis à jour avec succès, cliquez sur l'état sur le tableau de bord de gauche - Liste des tunnels en ligne, et vous pouvez voir que l'adresse du réseau public a été mise à jour vers une adresse TCP fixe.
Ouvrez l'outil de connexion, entrez l'adresse TCP fixe réservée par le site officiel, le port est le numéro de port du réseau public correspondant après l'adresse, et cliquez sur Tester la connexion.
Une connexion réussie indique le succès. Désormais, l'adresse du réseau public ne changera plus de manière aléatoire tant que le tunnel reste en ligne, nous pouvons nous connecter à distance à la base de données MongoDB dans le LAN via cette adresse du réseau public.
Ce qui précède décrit l'ensemble du processus d'utilisation de Docker pour déployer un conteneur MongoDB sur le système Ubuntu et le combiner avec l'outil de pénétration intranet cpolar pour obtenir un accès à distance aux services locaux sur l'intranet à partir du réseau public. Merci d'avoir regardé.