MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como executar vários aplicativos com um único mongodb usando o docker

Abordagem nº 1 Apenas corrija seu Dockerfile


O caminho precisa ser substituído pelo caminho da pasta primeiro

corrija com

Mas isso parece prática errada. Siga as etapas abaixo para criar as imagens do docker e implantá-las com o docker-compose.yml, assim como a imagem do mongo, você precisa criar sua própria imagem e executá-las com compose.

Abordagem nº 2 Boas práticas para implantar aplicativos

Imagem do Docker App1


  1. Vá para sua pasta App1 e crie um 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. Crie imagens docker com

Imagem do Docker App2


  1. Vá para sua pasta App2 e crie um 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. Crie imagens docker com

Implantar imagem com composição


  1. Crie docker-compose.yml na pasta 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 com docker-compose

    docker-compose up -d