sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo ejecutar múltiples aplicaciones con un solo mongodb usando docker

Enfoque n. ° 1 Simplemente corrija su Dockerfile

La ruta debe reemplazarse primero con la ruta de la carpeta

corregirlo con

Pero esta práctica parece incorrecta. Siga los pasos a continuación para crear las imágenes acoplables e implementarlas con docker-compose.yml, al igual que la imagen mongo, debe crear su propia imagen y ejecutarlas con componer.

Enfoque n.º 2 Buenas prácticas para implementar aplicaciones

Imagen acoplable de la aplicación 1

  1. Vaya a su carpeta App1 y cree 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. Cree imágenes acoplables con

Imagen acoplable de la aplicación 2

  1. Vaya a su carpeta App2 y cree 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. Cree imágenes acoplables con

Implementar imagen con composición

  1. Cree docker-compose.yml en la carpeta 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. EJECUTAR aplicación con docker-compose

    docker-compose up -d