sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man kör flera applikationer med en enda mongodb med docker

Tillvägagångssätt #1 Korrigera bara din Dockerfile

Sökvägen måste ersättas med mappsökvägen först

korrigera det med

Men detta ser fel praxis. Följ nedanstående steg för att skapa docker-bilderna och distribuera dem med docker-compose.yml precis som mongo-bilden måste du skapa din egen bild och köra dem med compose.

Tillvägagångssätt #2 God praxis för att distribuera appar

App1 Docker Image

  1. Gå till din App1-mapp och skapa en Dockerfile

    Dockerfil

    FROM node:8.9.1
    WORKDIR ./app1/
    COPY ./package.json ./app1/
    RUN npm install
    CMD npm start
    COPY ./app1/ ./app1/
    EXPOSE 8081
    
  2. Skapa docker-bilder med

App2 Docker Image

  1. Gå till din App2-mapp och skapa en Dockerfile

    Dockerfil

    FROM node:8.9.1
    WORKDIR ./app2/
    COPY ./package.json ./app2/
    RUN npm install
    CMD npm start
    COPY ./app2/ ./app2/
    EXPOSE 8081
    
  2. Skapa docker-bilder med

Distribuera bild med compose

  1. Skapa docker-compose.yml i Dev-mappen

    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. KÖR appen med docker-compose

    docker-compose up -d




  1. MongoDB findOneAndDelete()

  2. NodeJS Express Dependency Injection och Databas Connections

  3. Schema har inte registrerats för modellen. Mongodb>Mangoose

  4. Bra sätt att hantera MongoError:serverinstanspoolen förstördes