Puncte:0

Cum se conectează backend-ul la un container docker mongodb

drapel cn

Am făcut acest fișier docker-compose așa cum este scris pe docker hub / mongodb apoi folosesc comanda docker-compune până -d care destul de standard pentru a lansa un container.

# Utilizați rădăcină/exemplu ca acreditări de utilizator/parolă
versiunea: „3.1”

Servicii:

  mongo:
    imagine: mongo
    reporniți: întotdeauna
    mediu inconjurator:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: exemplu

  mongo-express:
    imagine: mongo-express
    reporniți: întotdeauna
    porturi:
      - 8081:8081
    mediu inconjurator:
      ME_CONFIG_MONGODB_ADMINUSERNAME: rădăcină
      ME_CONFIG_MONGODB_ADMINPASSWORD: exemplu
      ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/

bf4a595a508d mongo-express "tini -- /docker-entâ¦" Acum aproximativ o oră Sus Aproximativ o oră 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp intake-app_mongo-express_1
b5fcc2d2386d mongo "docker-entrypoint.sâ¦" Acum aproximativ o oră Sus Aproximativ o oră 27017/tcp intake-app_mongo_1

Acum încerc să-mi conectez backend-ul la el.

Cu postresql ar fi ceva de genul postgresql://root:example@localhost:8081/db_name

Ce ar fi cu mongo?

PS: Mă pot conecta la db în browserul meu web la http://localhost:8081, dar nu mă pot conecta la db din linia de comandă cu mongo.

Michael Hampton avatar
drapel cz
Aveți deja șirul de conexiune corect chiar acolo în `docker-compose.yml`!
Puncte:1
drapel cn

De la pagina oficială docker hub:

Serverul MongoDB din imagine ascultă pe portul standard MongoDB, 27017, deci conectarea prin rețele Docker va fi la fel ca conectarea la un mongod la distanță.

Nu spui de unde te conectezi și cum. Dacă este un alt container, atunci puteți utiliza portul direct, altfel trebuie să-l expuneți mai întâi.

În ceea ce privește șirul de conexiune, este în general de la documente oficiale:

mongo mongodb://$[listă gazdă]/$[bază de date]?authSource=$[authSource] --nume utilizator $[nume utilizator]

De asemenea, puteți utiliza mongo-express container pe care l-ați folosit pentru a obține detaliile de mai sus sau din hub-ul docker README. Deci in cazul tau:

mongodb://root:example@mongo:27017/

Dacă clientul dvs. nu se află într-un container docker din aceeași stivă, trebuie să expuneți portul 27017 din prima mongodb container:

porturi:
    - „27017:27017”
Pierre Lovergne avatar
drapel cn
Am uitat sa expun portul.. Multumesc mult

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.