MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come connettersi a mongodb usando docker-compose?

Puoi fare qualcosa come di seguito:

version: '3'

services:
  mongo:
    image: 'mongo:3.4.1'
    ports:
      - '27017:27017'
    volumes:
      - 'mongo:/data/db'

  puma:
    tty: true
    stdin_open: true
    depends_on:
      - 'mongo'
    build:
      context: .
      dockerfile: Dockerfile.puma
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    ports:
      - '3000:3000'
    volumes:
      - '.:/app'
    environment:
      - SECRET_KEY_BASE=secret
      - MONGO_URL=mongodb://mongo:27017/app_development
volumes:
  mongo:

Come avrai notato, puoi connetterti al servizio mongo in esecuzione su mongo contenitore da altri contenitori che si trovano nello stesso docker-compose.yml utilizzando la stringa di connessione come mongodb://mongo:27017 .

Nel caso in cui desideri connetterti dall'host, puoi utilizzare mongodb://localhost:27017 se hai esposto la porta mongo come mostrato sopra.