MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Tidak Dapat Menghubungkan Mongodb ke Springboot Container di buruh pelabuhan

Masalah

Anda mencoba mengakses DB dengan IP/nama host yang salah. Seperti yang Anda lihat, mengakses localhost di wadah pegas akan menyelesaikan ke wadah itu dan tidak ada 27017 port mendengarkan di sana. Saat Anda menjalankan toples di host buruh pelabuhan, ia memiliki 27017 port tersedia, itu sebabnya ia bekerja.

Solusi

Anda dapat menggunakan --hostname tandai di docker run perintah untuk mengatur nama host wadah DB sehingga Anda dapat menghubungkannya dari wadah Spring menggunakan nama host.

Solusi yang lebih baik, bagaimanapun, adalah dengan menggunakan file docker-compose dan memulai container menggunakan docker-compose up .

Pertama-tama gunakan

MongoClient mongo = new MongoClient("db", 27017));

di kode Spring Anda dan buat gambar kode Anda.

Setelah itu, ikuti langkah-langkah di bawah ini untuk memulai container:

A) Buat file Tulis

Buat file bernama docker-compose.yml dengan konten berikut:

version: "2.1"
services:
  app:
    # replace imageName with your image name (block in your case)
    image: imageName:tag
    ports:
      - 9876:4000 # Replace the port of your application here if used
    depends_on: 
      - db
  db:
    image: mongo
    volumes:
      - ./database:/data
    ports:
      - "27017:27017"   

B) Jalankan file penulisan

Jalankan perintah berikut untuk menjalankan file penulisan:docker-compose up -d




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoimport CSV dengan pymongo

  2. cara menghitung hitungan dan hitungan unik pada dua bidang dalam fungsi pengurangan mongo

  3. Pembaruan MongoDB:Hasilkan bidang baru berdasarkan bidang yang ada, atau perbarui di tempat

  4. Memasang Blob Halaman sebagai VHD dalam file batch

  5. Apa perbedaan antara operator .in() dan all.() di luwak?