Κοινή χρήση τεχνολογίας

Το σύστημα Linux αναπτύσσει τη βάση δεδομένων εγγράφων ανοιχτού κώδικα MongoDB και πραγματοποιεί απομακρυσμένη πρόσβαση χωρίς δημόσια IP δικτύου

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


💡 συνιστώ

Πριν από λίγες μέρες, ανακάλυψα έναν τεράστιο ιστότοπο εκμάθησης τεχνητής νοημοσύνης, είναι εύκολο να το κατανοήσω και να μην το μοιραστώ με όλους. 【Κάντε κλικ για να μεταβείτε στον ιστότοπο

Πρόλογος

Αυτό το άρθρο εισάγει κυρίως τον τρόπο γρήγορης ανάπτυξης του MongoDB στο σύστημα Linux Ubuntu και συνδυάζει το εργαλείο διείσδυσης cpolar intranet για την επίτευξη απομακρυσμένης πρόσβασης στην τοπική βάση δεδομένων μέσω του δημόσιου δικτύου.

Ο διακομιστής MongoDB μπορεί να τρέξει σε πλατφόρμες Linux, Windows και MacOS. Μπορεί να αποθηκεύσει σχετικά πολύπλοκους τύπους δεδομένων δεδομένα ευρετηρίου.

Είναι πιο περίπλοκο να εγκαταστήσετε το MongoDB απευθείας χρησιμοποιώντας τον διαχειριστή πακέτων, αλλά είναι σχετικά απλό και γρήγορο να εγκαταστήσετε και να αναπτύξετε το MongoDB χρησιμοποιώντας το Docker.

0920c95b762166d005b42f74d46e654

1. Εγκαταστήστε το Docker

Το λειτουργικό περιβάλλον αυτού του σεμιναρίου είναι το σύστημα Linux Ubuntu Πριν ξεκινήσουμε, πρέπει να εγκαταστήσουμε το Docker.

Εκτελέστε την ακόλουθη εντολή στο τερματικό:

Προσθήκη πηγής 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

Εγκαταστήστε το πακέτο Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 1

Επαληθεύστε ότι η εγκατάσταση του κινητήρα Docker ήταν επιτυχής εκτελώντας την εικόνα

sudo docker run hello-world
  • 1

2. Χρησιμοποιήστε το Docker για να τραβήξετε την εικόνα MongoDB

sudo docker pull mongo
  • 1

εικόνα-20240221134922055

Στη συνέχεια, εκτελέστε την εντολή προβολή εικόνας:

sudo docker images
  • 1

εικόνα-20240221135030232

Μπορείτε να δείτε ότι η εικόνα MongoDB τραβήχτηκε με επιτυχία.

3. Δημιουργήστε και ξεκινήστε το κοντέινερ MongoDB

Αφού τραβήξουμε με επιτυχία την εικόνα MongoDB, μπορούμε να χρησιμοποιήσουμε την εικόνα για να δημιουργήσουμε και να εκτελέσουμε ένα κοντέινερ MongoDB.

Αρχικά, δημιουργήστε τον κατάλογο αποθήκευσης /docker_mount/mongodb/data στον κεντρικό υπολογιστή για τα μόνιμα δεδομένα MongoDB.

Μπορείτε να το δημιουργήσετε χρησιμοποιώντας την ακόλουθη εντολή:

sudo mkdir -p /docker_mount/mongodb/data
  • 1

Στη συνέχεια, εκτελέστε την ακόλουθη εντολή στο τερματικό για να εκτελέσετε το κοντέινερ:

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
  • 1

1708500820559

Περιγραφή παραμέτρου:

  • –όνομα excalidraw: Το όνομα του κοντέινερ σε αυτό το παράδειγμα είναι mongodb, μπορείτε να το ονομάσετε μόνοι σας.
  • **-e MONGO_INITDB_ROOT_USERNAME=root: **Εκκινήστε μια ρίζα χρήστη με τον ριζικό ρόλο
  • **-e MONGO_INITDB_ROOT_PASSWORD=κωδικός πρόσβασης: **Ο κωδικός πρόσβασης είναι κωδικός πρόσβασης, μπορείτε να τον ορίσετε μόνοι σας.
  • -σελ 27017:27017: Αντιστοίχιση θύρας, αντιστοίχιση της τοπικής θύρας 27017 στη θύρα 27017 μέσα στο κοντέινερ.
  • **-d **: Ρύθμιση του κοντέινερ ώστε να εκτελείται πάντα στο παρασκήνιο.

Στη συνέχεια, εκτελέστε την ακόλουθη εντολή για να ελέγξετε εάν το κοντέινερ εκτελείται:

sudo docker ps
  • 1

εικόνα-20240221153852667

Μπορείτε να δείτε ότι το κοντέινερ MongoDB που μόλις δημιουργήθηκε εκτελείται.

4. Δοκιμή τοπικής σύνδεσης

Εντάξει, μετά την παραπάνω διαδικασία, ολοκληρώθηκε η ανάπτυξη docker του mongodb Τώρα μπορούμε να εκτελέσουμε δοκιμή σύνδεσης μέσω Navicat.

Η έκδοση του Navicat που χρησιμοποιώ είναι 16. Δημιουργήστε μια νέα σύνδεση mongodb όπως φαίνεται παρακάτω:

Συμπληρώστε την IP του κεντρικού υπολογιστή, μπορείτε να την εισαγάγετε στο τερματικό ip addrεντολή για προβολή.

Συμπληρώστε τη θύρα: 27017

Συμπλήρωση επαλήθευσης: admin

Συμπληρώστε το όνομα χρήστη και τον κωδικό πρόσβασης με τον λογαριασμό και τον κωδικό πρόσβασης που μόλις ορίσατε κατά την εκκίνηση του κοντέινερ: root και κωδικός πρόσβασης

εικόνα-20240221154325747

Στη συνέχεια, κάντε κλικ στο Test Connection και μπορείτε να δείτε ότι η σύνδεση είναι επιτυχής!

5. Απομακρυσμένη πρόσβαση στο τοπικό κοντέινερ MongoDB από το δημόσιο δίκτυο

Ωστόσο, προς το παρόν μπορούμε να συνδεθούμε μόνο τοπικά στην υπηρεσία MongoDB που μόλις αναπτύξαμε χρησιμοποιώντας το docker Τι γίνεται αν βρισκόμαστε σε διαφορετικό μέρος και θέλουμε να αποκτήσουμε απομακρυσμένη πρόσβαση στο τοπικά αναπτυσσόμενο κοντέινερ MongoDB, αλλά δεν έχουμε δημόσια IP;

Μπορούμε να χρησιμοποιήσουμε το εργαλείο διείσδυσης cpolar intranet για να επιτύχουμε απαιτήσεις απομακρυσμένης πρόσβασης σε περιβάλλον χωρίς δημόσια IP δικτύου.

5.1 Εγκατάσταση εργαλείων διείσδυσης intranet

Ακολουθούν τα βήματα για την εγκατάσταση του cpolar:

Διεύθυνση επίσημης ιστοσελίδας cpolar: https://www.cpolar.com

  • Χρησιμοποιήστε την εντολή εγκατάστασης σεναρίου με ένα κλικ
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 1
  • Προσθήκη υπηρεσιών στο σύστημα
sudo systemctl enable cpolar
  • 1
  • Ξεκινήστε την υπηρεσία cpolar
sudo systemctl start cpolar
  • 1

Μετά την επιτυχή εγκατάσταση του cpolar, αποκτήστε πρόσβαση στη θύρα Linux 9200 σε ένα εξωτερικό πρόγραμμα περιήγησης: [http://server's LAN IP:9200] στον Ιστό Απλώς διαμορφώστε τη διεπαφή διαχείρισης.

εικόνα-20230831171159175

5.2 Δημιουργήστε μια δημόσια διεύθυνση δικτύου για απομακρυσμένη σύνδεση

Αφού συνδεθείτε στη διεπαφή διαχείρισης του cpolar web UI, κάντε κλικ στο Tunnel Management - Create Tunnel στον αριστερό πίνακα εργαλείων:

  • Όνομα σήραγγας: Προσέξτε να μην αντιγράψετε το υπάρχον όνομα σήραγγας
  • Πρωτόκολλο: tcp
  • Τοπική διεύθυνση: 27017
  • Τύπος ονόματος τομέα: τυχαίο όνομα τομέα
  • Περιοχή: Επιλέξτε Κίνα VIP

Κάντε κλικ创建

εικόνα-20240221160200575

Στη συνέχεια, ανοίξτε τη λίστα διαδικτυακών τούνελ, προβάλετε και αντιγράψτε τη δημόσια διεύθυνση του πρωτοκόλλου tcp,注意tcp://无需复制

εικόνα-20240221160228682

Ανοίξτε το navicat ή άλλα εργαλεία σύνδεσης, εισαγάγετε τη διεύθυνση δημόσιου δικτύου που δημιουργήθηκε στο cpolar παραπάνω στην επιλογή κεντρικού υπολογιστή και ο αριθμός θύρας αντιστοιχεί στον αριθμό θύρας δημόσιου δικτύου που δημιουργήθηκε μετά την άνω και κάτω τελεία στη διεύθυνση.

εικόνα-20240221160051207

Στη συνέχεια, κάντε κλικ στο Test Connection και μπορείτε να δείτε ότι η σύνδεση είναι επιτυχής!

περίληψη

Για τη διευκόλυνση της επίδειξης, χρησιμοποιήσαμε τη σήραγγα διευθύνσεων δημόσιου δικτύου TCP που δημιουργήθηκε από το cpolar στην παραπάνω διαδικασία λειτουργίας και η διεύθυνση του δημόσιου δικτύου του δημιουργήθηκε τυχαία.

Το πλεονέκτημα αυτής της τυχαίας διεύθυνσης είναι ότι καθιερώνεται γρήγορα και μπορεί να χρησιμοποιηθεί αμέσως. Ωστόσο, το μειονέκτημά του είναι ότι η διεύθυνση URL δημιουργείται τυχαία και αυτή η διεύθυνση θα αλλάξει τυχαία μέσα σε 24 ώρες, καθιστώντας την πιο κατάλληλη για προσωρινή χρήση.

Εάν έχετε μακροπρόθεσμες ανάγκες για απομακρυσμένη πρόσβαση στην τοπική υπηρεσία MongoDB, αλλά δεν θέλετε να ρυθμίζετε εκ νέου τη διεύθυνση του δημόσιου δικτύου κάθε μέρα, και επίσης θέλετε η διεύθυνση να είναι ωραία και εύκολη στην απομνημόνευση, τότε σας συνιστώ να επιλέξετε να χρησιμοποιήσετε μια σταθερή διεύθυνση TCP για απομακρυσμένη πρόσβαση.

5.3 Απομακρυσμένη πρόσβαση με χρήση σταθερής διεύθυνσης TCP

Σύνδεσηcpolar επίσημος ιστότοπος υποστήριξης, κάντε κλικ στην επιλογή Κράτηση στα αριστερά για να βρείτε τη δεσμευμένη διεύθυνση TCP Ας κρατήσουμε μια σταθερή διεύθυνση TCP για απομακρυσμένη σύνδεση στη βάση δεδομένων MongoDB.

  • Περιοχή: Επιλέξτε Κίνα vip
  • Περιγραφή: Σημειώσεις, προσαρμόσιμες

Κάντε κλικ保留

εικόνα-20240221160835462

Μετά την επιτυχή κράτηση της διεύθυνσης, το σύστημα θα δημιουργήσει την αντίστοιχη σταθερή δημόσια διεύθυνση και θα την αντιγράψει.

Σε αυτό το παράδειγμα, η διεύθυνση είναι: 6.tcp.vip.cpolar.cn:13644

Στη συνέχεια, αποκτήστε πρόσβαση στο πρόγραμμα περιήγησής σαςLinux局域网ip地址+:9200端口, συνδεθείτε στη διεπαφή διαχείρισης cpolar web UI.

Κάντε κλικ στο Tunnel Management - Tunnel List στον αριστερό πίνακα εργαλείων, βρείτε το τούνελ απομακρυσμένης βάσης δεδομένων που δημιουργήσαμε παραπάνω και κάντε κλικ编辑

εικόνα-20240221161016132

Τροποποιήστε τις πληροφορίες της σήραγγας και διαμορφώστε την επιτυχώς δεσμευμένη σταθερή διεύθυνση tcp στη σήραγγα.

  • Τύπος θύρας: τροποποιήθηκε σε σταθερή θύρα tcp
  • Δεσμευμένη διεύθυνση tcp: συμπληρώστε τη διεύθυνση που δεσμεύτηκε με επιτυχία από τον επίσημο ιστότοπο,

Κάντε κλικ更新

εικόνα-20240221161130133

Αφού ενημερωθεί επιτυχώς η σήραγγα, κάντε κλικ στην κατάσταση στον αριστερό πίνακα εργαλείων - Online Tunnel List και μπορείτε να δείτε ότι η διεύθυνση του δημόσιου δικτύου έχει ενημερωθεί σε μια σταθερή διεύθυνση TCP.

εικόνα-20240221161207657

Ανοίξτε το εργαλείο σύνδεσης, εισαγάγετε τη σταθερή διεύθυνση TCP που έχει δεσμευτεί από τον επίσημο ιστότοπο, η θύρα είναι ο αντίστοιχος αριθμός θύρας δημόσιου δικτύου μετά τη διεύθυνση και κάντε κλικ στο Test Connection.

εικόνα-20240221161332281
Μια επιτυχημένη σύνδεση υποδηλώνει επιτυχία Τώρα η διεύθυνση του δημόσιου δικτύου δεν θα αλλάζει πλέον τυχαία όσο η σήραγγα παραμένει συνδεδεμένη, μπορούμε να συνδεθούμε εξ αποστάσεως στη βάση δεδομένων MongoDB στο LAN μέσω αυτής της δημόσιας διεύθυνσης δικτύου.

Τα παραπάνω είναι η όλη διαδικασία για το πώς να χρησιμοποιήσετε το Docker για την ανάπτυξη ενός κοντέινερ MongoDB στο σύστημα Ubuntu και να το συνδυάσετε με το εργαλείο διείσδυσης cpolar intranet για να επιτύχετε απομακρυσμένη πρόσβαση σε τοπικές υπηρεσίες στο intranet από το δημόσιο δίκτυο.