MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment exécuter plusieurs applications avec un seul mongodb à l'aide de docker

Approche #1 Corrigez simplement votre Dockerfile

Le chemin doit d'abord être remplacé par le chemin du dossier

corrigez-le avec

Mais cela ressemble à une mauvaise pratique. Suivez les étapes ci-dessous pour créer les images docker et les déployer avec le docker-compose.yml, tout comme l'image mongo, vous devez créer votre propre image et les exécuter avec compose.

Approche #2 Bonne pratique pour déployer des applications

Image Docker App1

  1. Allez dans votre dossier App1 et créez un Dockerfile

    Dockerfile

    FROM node:8.9.1
    WORKDIR ./app1/
    COPY ./package.json ./app1/
    RUN npm install
    CMD npm start
    COPY ./app1/ ./app1/
    EXPOSE 8081
    
  2. Créer des images Docker avec

Image Docker App2

  1. Allez dans votre dossier App2 et créez un Dockerfile

    Dockerfile

    FROM node:8.9.1
    WORKDIR ./app2/
    COPY ./package.json ./app2/
    RUN npm install
    CMD npm start
    COPY ./app2/ ./app2/
    EXPOSE 8081
    
  2. Créer des images Docker avec

Déployer l'image avec composer

  1. Créez docker-compose.yml dans le dossier Dev

    docker-compose.yml

    version: '2'
    services:
       app1:
         image: app1Image
         ports:
           - 8082:8082
         links:
           - mongo
         depends_on:
           - mongo
       app2:
         image: app2Image
         ports:
           - 8081:8081
         links:
           - mongo
         depends_on:
           - mongo
       mongo:
         image: mongo:3.4.10
         ports:
           - 27017:27017
         volumes:
           - './dev/data/db:/data/db'
         links:
           - mongo
         depends_on:
           - mongo
    
  2. RUN App avec docker-compose

    docker-composer jusqu'à -d