Annuaire d'articles
Préface
Cet article présente principalement comment utiliser Docker pour déployer MySQL et le combiner avec l'outil de pénétration intranet cpolar pour obtenir un accès à distance à la base de données locale.
Docker fournit une solution de conteneurisation légère qui peut mieux simplifier le processus de déploiement de base de données. Rend la création et la gestion de la base de données MySQL plus faciles et plus rapides. Partageons le processus de déploiement spécifique et mettons en avant certains points qui nécessitent une attention particulière, ainsi que la manière d'utiliser l'outil de pénétration intranet pour accéder à la base de données locale sans IP du réseau public.
1.Installer Docker
L'environnement d'exploitation de ce tutoriel 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
2. Utilisez Docker pour extraire l'image MySQL
sudo docker pull mysql:latest
Exécutez ensuite la commande view image :
sudo docker images
Vous pouvez voir que l'image MySQL a été extraite avec succès.
3. Créez et démarrez le conteneur MySQL
Après avoir réussi à extraire l'image MySQL, nous pouvons l'utiliser pour créer et exécuter un conteneur MySQL.
Exécutez la commande suivante dans le terminal :
sudo docker run -itd -p 3308:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=mydb mysql
Dans cette commande, un conteneur MySQL nommé : mysql1 est créé et exécuté en arrière-plan, le MySQL exécuté dans le conteneur est mappé sur le port 3308 de l'hôte local (le port hôte 3306 de l'auteur est occupé) et le mot de passe root MySQL est défini sur 123456 , créé une base de données nommée : mydb.
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 MySQL qui vient d'être créé est en cours d'exécution.
4. Test de connexion locale
4.1 Installer l'outil d'interface graphique MySQL
Maintenant que nous avons déployé le conteneur MySQL localement dans docker, si nous voulons tester la connexion localement,
Vous pouvez télécharger l'outil d'interface graphique MySQL : MySQL Workbench
Adresse de téléchargement : MySQL ::MySQL Workbench
J'ai choisi ici la version du système Windows, vous pouvez choisir d'autres versions en fonction de vos besoins et cliquer pour télécharger.
4.2 Utiliser le test de connexion MySQL Workbench
Après le téléchargement et l'installation, cliquez sur le signe plus et ajoutez des informations sur la base de données MySQL à laquelle vous souhaitez vous connecter dans la fenêtre contextuelle :
Le nom d'hôte doit être renseigné avec votre adresse IP locale (192.168.184.128) et le port est le port local (3308). En fonctionnement réel, vous devez vous référer à l'adresse IP et au port de votre propre hôte. Connectez-vous ensuite en tant qu'utilisateur root, entrez le mot de passe 123456 et cliquez sur OK.
Après avoir saisi les informations, cliquez sur le bouton test de connexion en bas à droite.
Si vous voyez la boîte d'invite de connexion MySQL réussie, la connexion est réussie. Cliquez sur OK pour fermer la boîte d'invite, puis cliquez sur le bouton OK en bas à droite de la boîte d'informations pour vous connecter officiellement à la base de données MySQL locale.
Cliquez sur la méthode de connexion générée ici pour entrer avec succès dans l'interface de la base de données :
5. Accédez à distance à MySQL local depuis le réseau public
Cependant, nous ne pouvons actuellement nous connecter qu'en local à la base de données MySQL que nous venons de déployer dans Docker. Que se passe-t-il si nous sommes dans un endroit différent et que nous souhaitons accéder à distance au conteneur MySQL déployé localement mais que nous 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.
5.1 Installation d'outils de pénétration intranet
Voici les étapes pour installer cpolar :
Adresse du site officiel de cpolar : https://www.cpolar.com
- Utiliser la commande d'installation de script en un clic
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- Ajouter des services au système
sudo systemctl enable cpolar
- Démarrer le service cpolar
sudo systemctl start cpolar
Une fois cpolar installé avec succès, accédez au port 9200 de Linux sur un navigateur externe : [http://adresse IP LAN du serveur : 9200]. Connectez-vous en utilisant le compte cpolar. Après vous être connecté, vous pouvez voir l'interface de configuration Web de cpolar. le résultat est sur le web Il suffit de configurer l'interface de gestion.
5.2 Créer une adresse de réseau public pour la connexion à distance
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 :
- Nom du tunnel : Il peut être personnalisé. Attention à ne pas dupliquer le nom du tunnel existant. Cet exemple utilise : mysql
- Protocole : TCP
- Adresse locale : 3308
- Type de port : port TCP temporaire aléatoire
- Région : Sélectionnez la Chine Haut
Cliquez sur创建
Une fois la création réussie, ouvrez la liste des tunnels en ligne sur la gauche. Vous pouvez voir que l'adresse du réseau public vient d'être générée en créant le tunnel. Ensuite, vous pouvez copier l'adresse et le numéro de port vers MySQL Workbench sur un autre ordinateur (hors site). ) pour se connecter.
Comme le montre la figure ci-dessous, renseignez l'emplacement de l'adresse IP : 17.tcp.cpolar.top, renseignez le numéro de port : 12878, cliquez sur le lien pour tester :
Vous pouvez voir que le test de connexion a réussi :
Accès à distance réussi à l'interface de la base de données MySQL locale à l'aide de l'adresse du réseau public :
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 d'un accès à distance à long terme à MySQL 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 pour utiliser une adresse TCP fixe pour l'accès à distance.
5.3 Accès à distance via une adresse TCP fixe
Ensuite, réservez une adresse TCP fixe. Connectez-vous au site officiel de cpolar , cliquez sur Réserver à gauche, recherchez l'adresse TCP réservée et réservez une adresse fixe pour la connexion au serveur distant :
- Région : Sélectionnez Chine VIP
- Description : Remarques pouvant être personnalisées. Dans cet exemple, mysql123 est utilisé.
Cliquez sur保留
Vous pouvez voir qu'une adresse réseau publique TCP fixe est générée :
Une fois l'adresse réservée avec succès, copiez l'adresse du réseau public générée, ouvrez 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 d'adresse du réseau public aléatoire mysql que nous venons de créer et cliquez sur编辑
Modifiez les informations du tunnel et configurez l'adresse TCP fixe qui a été réservée avec succès tout à l'heure dans le tunnel.
- Type de port : sélectionnez le port TCP fixe
- Adresse TCP réservée : copiez et collez l'adresse réservée avec succès depuis le site officiel, dans ce cas : 5.tcp.vip.cpolar.cn:12675
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.
Ensuite, tout comme l'opération précédente, vous pouvez utiliser cette adresse TCP fixe pour accéder à MySQL Workbench sur un autre ordinateur (hors site).
Cliquez sur le bouton Modifier les informations de connexion :
Remplissez l'emplacement de l'adresse IP : 5.tcp.vip.cpolar.cn, remplissez le numéro de port : 12675, cliquez sur le lien pour tester, vous pouvez voir que le test de connexion est réussi :
Implémentation réussie de l'outil de pénétration intranet cpolar pour accéder à distance à l'interface de la base de données MySQL locale avec une adresse réseau publique TCP fixe :