sql >> データベース >  >> NoSQL >> MongoDB

dockerを使用して単一のmongodbで複数のアプリケーションを実行する方法

    アプローチ#1Dockerfileを修正するだけです

    最初にパスをフォルダパスに置き換える必要があります

    で修正してください

    しかし、これは間違った習慣に見えます。以下の手順に従って、Dockerイメージを作成し、docker-compose.ymlを使用してデプロイします。これは、mongoイメージと同様に、独自のイメージを作成して、composeで実行する必要があります。

    アプローチ#2アプリをデプロイするためのグッドプラクティス

    App1Dockerイメージ

    1. App1フォルダーに移動し、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. を使用してDockerイメージを作成します

    App2Dockerイメージ

    1. App2フォルダーに移動し、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. を使用してDockerイメージを作成します

    composeを使用してイメージをデプロイする

    1. Devフォルダーにdocker-compose.ymlを作成します

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

      を使用してアプリを実行します

      docker-compose up -d




    1. mongodbデフォルトポートを変更する方法

    2. $lookupが空の配列を返す

    3. mongodbを使用したdjangoは、移行を過去のものにしますか?

    4. CouchDBまたはMongoDBの多対多の関係