Berbagi teknologi

Sistem Linux menyebarkan database dokumen sumber terbuka MongoDB dan mewujudkan akses jarak jauh tanpa IP jaringan publik

2024-07-12

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


💡 menyarankan

Beberapa hari yang lalu, saya menemukan situs pembelajaran kecerdasan buatan raksasa. Sangat mudah dimengerti dan lucu. Saya tidak bisa tidak membagikannya kepada semua orang. 【Klik untuk melompat ke situs web

Kata pengantar

Artikel ini terutama memperkenalkan cara cepat menyebarkan MongoDB di sistem Linux Ubuntu, dan menggabungkan alat penetrasi intranet cpolar untuk mencapai akses jarak jauh ke database lokal melalui jaringan publik.

Server MongoDB dapat berjalan pada platform Linux, Windows, dan MacOS. Ia dapat menyimpan tipe data yang relatif kompleks. Bahasa kueri yang didukungnya sangat kuat. Ia hampir dapat mewujudkan sebagian besar fungsi yang mirip dengan kueri tabel tunggal dalam database relasional, dan juga dapat data indeks.

Menginstal MongoDB secara langsung menggunakan manajer paket lebih rumit, tetapi menginstal dan menerapkan MongoDB menggunakan Docker relatif sederhana dan cepat. Mari berbagi proses operasi spesifik dengan Anda.

Nomor telepon 0920c95b762166d005b42f74d46e654

1. Instal Docker

Lingkungan operasi tutorial ini adalah sistem Linux Ubuntu. Sebelum memulai, kita perlu menginstal Docker.

Jalankan perintah berikut di terminal:

Tambahkan sumber 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

Instal paket Docker

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

Verifikasi instalasi mesin Docker berhasil dengan menjalankan image

sudo docker run hello-world
  • 1

2. Gunakan Docker untuk menarik image MongoDB

sudo docker pull mongo
  • 1

gambar-20240221134922055

Kemudian jalankan perintah lihat gambar:

sudo docker images
  • 1

gambar-20240221135030232

Anda dapat melihat bahwa gambar MongoDB berhasil ditarik.

3. Buat dan mulai wadah MongoDB

Setelah berhasil menarik image MongoDB, kita dapat menggunakan image tersebut untuk membuat dan menjalankan container MongoDB.

Pertama, buat direktori penyimpanan /docker_mount/mongodb/data di mesin host untuk menyimpan data MongoDB.

Anda dapat membuatnya menggunakan perintah berikut:

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

Kemudian jalankan perintah berikut di terminal untuk menjalankan container:

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

Deskripsi Parameter:

  • –nama excalidraw: Nama container pada contoh ini adalah mongodb, anda bisa menamainya sendiri.
  • **-e MONGO_INITDB_ROOT_USERNAME=root: **Inisialisasi root pengguna dengan peran root
  • **-e MONGO_INITDB_ROOT_PASSWORD=kata sandi: **Kata sandi adalah kata sandi, Anda dapat mengaturnya sendiri.
  • -hal 27017:27017: Pemetaan port, memetakan port lokal 27017 ke port 27017 di dalam container.
  • **-d **: Mengatur container agar selalu berjalan di latar belakang.

Kemudian jalankan perintah berikut untuk memeriksa apakah container sedang berjalan:

sudo docker ps
  • 1

gambar-20240221153852667

Anda dapat melihat bahwa container MongoDB yang baru saja dibuat sedang berjalan.

4. Tes koneksi lokal

Oke, setelah proses di atas, penerapan docker mongodb selesai. Sekarang kita bisa melakukan pengujian koneksi melalui Navicat.

Versi Navicat yang saya gunakan adalah 16. Buat koneksi mongodb baru seperti gambar di bawah ini:

Host isi IP host, Anda bisa memasukkannya di terminal ip addrperintah untuk melihat.

Isi portnya: 27017

Isi verifikasi : admin

Isikan nama pengguna dan kata sandi dengan akun dan kata sandi yang baru saja Anda atur saat memulai penampung: root dan kata sandi

gambar-20240221154325747

Kemudian klik Test Connection dan Anda dapat melihat bahwa koneksi berhasil!

5. Akses kontainer MongoDB lokal dari jaringan publik dari jarak jauh

Namun, saat ini kami hanya dapat terhubung secara lokal ke layanan MongoDB yang baru saja kami terapkan menggunakan buruh pelabuhan. Bagaimana jika kami berada di tempat yang berbeda dan ingin mengakses kontainer MongoDB yang diterapkan secara lokal dari jarak jauh tetapi tidak memiliki IP publik?

Kita dapat menggunakan alat penetrasi intranet cpolar untuk mencapai persyaratan akses jarak jauh di lingkungan tanpa IP jaringan publik.

5.1 Pemasangan alat penetrasi intranet

Berikut langkah-langkah instalasi cpolar:

alamat situs resmi cpolar: https://www.cpolar.com

  • Gunakan perintah instalasi skrip sekali klik
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 1
  • Tambahkan layanan ke sistem
sudo systemctl enable cpolar
  • 1
  • Mulai layanan cpolar
sudo systemctl start cpolar
  • 1

Setelah cpolar berhasil diinstal, akses port Linux 9200 di browser eksternal: [http://server LAN IP:9200] Masuk dengan akun cpolar Anda. Setelah login, Anda dapat melihat antarmuka konfigurasi web cpolar di web Cukup konfigurasikan antarmuka manajemen.

gambar-20230831171159175

5.2 Buat alamat jaringan publik untuk koneksi jarak jauh

Setelah masuk ke antarmuka manajemen UI web cpolar, klik Manajemen Terowongan - Buat Terowongan di dasbor kiri:

  • Nama terowongan: Dapat dikustomisasi. Hati-hati jangan sampai menduplikasi nama terowongan yang ada
  • Protokol: tcp
  • Alamat lokal: 27017
  • Jenis nama domain: nama domain acak
  • Wilayah: Pilih VIP Tiongkok

Klik创建

gambar-20240221160200575

Kemudian buka daftar terowongan online, lihat dan salin alamat publik protokol tcp,注意tcp://无需复制

gambar-20240221160228682

Buka navicat atau alat koneksi lainnya, masukkan alamat jaringan publik yang dibuat di cpolar kami di atas pada opsi host, dan nomor port sesuai dengan nomor port jaringan publik yang dihasilkan setelah titik dua di alamat tersebut.

gambar-20240221160051207

Kemudian klik Test Connection dan Anda dapat melihat bahwa koneksi berhasil!

ringkasan

Untuk kenyamanan demonstrasi, kami menggunakan terowongan alamat jaringan publik TCP yang dihasilkan oleh cpolar dalam proses operasi di atas, dan alamat jaringan publiknya dihasilkan secara acak.

Keuntungan dari alamat acak ini adalah dapat dibuat dengan cepat dan dapat segera digunakan. Namun kelemahannya adalah URL dibuat secara acak dan alamat ini akan berubah secara acak dalam waktu 24 jam, sehingga lebih cocok untuk penggunaan sementara.

Jika Anda memiliki kebutuhan jangka panjang untuk akses jarak jauh ke layanan MongoDB lokal, tetapi tidak ingin mengkonfigurasi ulang alamat jaringan publik setiap hari, dan juga ingin alamatnya bagus dan mudah diingat, maka saya sarankan Anda memilih untuk menggunakan alamat TCP tetap untuk akses jarak jauh.

5.3 Akses jarak jauh menggunakan alamat TCP tetap

Gabungbackend situs web resmi cpolar, klik Cadangan di sebelah kiri untuk menemukan alamat TCP yang dicadangkan. Mari kita pesan alamat TCP tetap untuk koneksi jarak jauh ke database MongoDB.

  • Wilayah: Pilih vip Cina
  • Deskripsi: Catatan, dapat disesuaikan

Klik保留

gambar-20240221160835462

Setelah alamat berhasil dicadangkan, sistem akan membuat alamat publik tetap yang sesuai dan menyalinnya.

Dalam contoh ini, alamatnya adalah: 6.tcp.vip.cpolar.cn:13644

Kemudian akses di browser AndaLinux局域网ip地址+:9200端口, masuk ke antarmuka manajemen ui web cpolar.

Klik Manajemen Tunnel - Daftar Tunnel di dasbor kiri, temukan terowongan database jarak jauh yang kami buat di atas, dan klik编辑

gambar-20240221161016132

Ubah informasi terowongan dan konfigurasikan alamat tcp tetap yang berhasil dicadangkan ke dalam terowongan.

  • Jenis port: dimodifikasi menjadi port tcp tetap
  • Reserved tcp address : isi alamat yang berhasil direservasi oleh website resminya,

Klik更新

gambar-20240221161130133

Setelah terowongan berhasil diperbarui, klik status di dasbor kiri - Daftar Terowongan Online, dan Anda dapat melihat bahwa alamat jaringan publik telah diperbarui ke alamat TCP tetap.

gambar-20240221161207657

Buka alat koneksi, masukkan alamat TCP tetap yang dicadangkan oleh situs web resmi, port tersebut adalah nomor port jaringan publik yang sesuai setelah alamat tersebut, dan klik Uji Koneksi.

gambar-20240221161332281
Koneksi yang berhasil menunjukkan keberhasilan. Sekarang alamat jaringan publik tidak lagi berubah secara acak. Selama terowongan tetap online, kita dapat terhubung dari jarak jauh ke database MongoDB di LAN melalui alamat jaringan publik ini.

Di atas adalah keseluruhan proses cara menggunakan Docker untuk menyebarkan container MongoDB di sistem Ubuntu, dan menggabungkannya dengan alat penetrasi intranet cpolar untuk mencapai akses jarak jauh ke layanan lokal di intranet dari jaringan publik. Terima kasih telah menonton.