アプローチ#1Dockerfileを修正するだけです
最初にパスをフォルダパスに置き換える必要があります
で修正してください
しかし、これは間違った習慣に見えます。以下の手順に従って、Dockerイメージを作成し、docker-compose.ymlを使用してデプロイします。これは、mongoイメージと同様に、独自のイメージを作成して、composeで実行する必要があります。
アプローチ#2アプリをデプロイするためのグッドプラクティス
App1Dockerイメージ
-
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
-
App2Dockerイメージ
-
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
-
composeを使用してイメージをデプロイする
-
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
-
docker-compose
を使用してアプリを実行しますdocker-compose up -d