MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So führen Sie mehrere Anwendungen mit einer einzelnen Mongodb mit Docker aus

Ansatz Nr. 1 Korrigieren Sie einfach Ihr Dockerfile

Der Pfad muss zuerst durch den Ordnerpfad ersetzt werden

korrigieren Sie es mit

Aber das sieht falsch aus. Befolgen Sie die nachstehenden Schritte, um die Docker-Images zu erstellen und sie mit der docker-compose.yml bereitzustellen, genau wie das Mongo-Image. Sie müssen Ihr eigenes Image erstellen und sie mit compose ausführen.

Ansatz Nr. 2 Bewährte Vorgehensweise zum Bereitstellen von Apps

App1-Docker-Image

  1. Gehen Sie zu Ihrem App1-Ordner und erstellen Sie eine 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. Erstellen Sie Docker-Images mit

App2-Docker-Image

  1. Gehen Sie zu Ihrem App2-Ordner und erstellen Sie ein 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. Erstellen Sie Docker-Images mit

Image mit Compose bereitstellen

  1. Docker-compose.yml im Dev-Ordner erstellen

    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 mit docker-compose

    docker-compose up -d