Saturday, 24 November 2018

docker compose connecting mongodb container with node js container

i have a sharelatex container running. This docker compose file contains a mongo and redis container.

Here is the sharelatex docker compose:

version: '2'
services:
    sharelatex:
        restart: always
        image: rigon/sharelatex-full
        #image: sharelatex/sharelatex
        container_name: sharelatex
        network_mode: "bridge"
        depends_on:
            - mongo
            - redis
        privileged: true
        links:
            - mongo
            - redis
        volumes:
            - ./sharelatex_data:/var/lib/sharelatex
            - /var/run/docker.sock:/var/run/docker.sock
        environment:
            SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex
            SHARELATEX_REDIS_HOST: redis
            SHARELATEX_APP_NAME: ShareLaTeX
            SHARELATEX_SITE_URL: https://latex.tkwant.de
    mongo:
        restart: always
        image: mongo
        container_name: mongo
        network_mode: "bridge"
        expose:
           - 27017
        volumes:
            - ./mongo_data:/data/db
    redis:
        restart: always
        image: redis
        container_name: redis
        network_mode: "bridge"
        expose:
            - 6379
        volumes:
            - ./redis_data:/data

I want to create a node application which needs mongodb, too. How can i connect these two container? I read about network and tried out docker network but without success.

This is my node docker compose:

version: '3.5'
services:
  app:
    container_name: app
    restart: always
    build: .
    ports:
      - '3001:3000'

and here my index.js:

// Connect to MongoDB
mongoose
  .connect(
    'mongodb://mongo:27017/test2',
    { useNewUrlParser: true }
  )
  .then(() => console.log('MongoDB Connected'))
  .catch(err => console.log("errorErrorError"));



from docker compose connecting mongodb container with node js container

No comments:

Post a Comment