如何使用docker使用单个mongodb运行多个应用程序
我希望能够在两个容器中运行两个独立的应用程序-每个独立的应用程序一个。然后两个应用程序都应该能够与第三个容器通信,该容器将容纳MongoDB如何使用docker使用单个mongodb运行多个应用程序,mongodb,docker,docker-compose,dockerfile,Mongodb,Docker,Docker Compose,Dockerfile,我希望能够在两个容器中运行两个独立的应用程序-每个独立的应用程序一个。然后两个应用程序都应该能够与第三个容器通信,该容器将容纳MongoDB 我的本地计算机上的文件夹结构 /Users/me/Dev: Dockerfile, docker-compose.yml /Users/me/Dev/App1: with source code and package.json for app1 /Users/me/Dev/App2: with source code and package.json
/Users/me/Dev: Dockerfile, docker-compose.yml
/Users/me/Dev/App1: with source code and package.json for app1
/Users/me/Dev/App2: with source code and package.json for app2
/Users/me/Dev/data/db: I wanna keep datafile for Mongo
version: '2'
services:
app1:
build: .
volumes:
- .:/app1
ports:
- "8082:8082"
links:
- mongo
depends_on:
- mongo
# app2:
# build: .
# volumes:
# - .:./app2
# ports:
# - "8081:8081"
# links:
# - mongo
# depends_on:
# - mongo
mongo:
image: mongo:3.4.10
volumes:
- './dev/data/db:/data/db'
ports:
- "27017:27017"
FROM node:8.9.1
WORKDIR ./app1/
COPY ./package.json ./app1/
RUN npm install
CMD npm start
COPY ./app1/ ./app1/
EXPOSE 8081
FROM node:8.9.1
WORKDIR ./app2/
COPY ./package.json ./app2/
RUN npm install
CMD npm start
COPY ./app2/ ./app2/
EXPOSE 8081
FROM node:8.9.1
WORKDIR ./app1/
COPY ./package.json ./app1/
RUN npm install
CMD npm start
COPY ./app1/ ./app1/
EXPOSE 8081
FROM node:8.9.1
WORKDIR ./app2/
COPY ./package.json ./app2/
RUN npm install
CMD npm start
COPY ./app2/ ./app2/
EXPOSE 8081
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图像。然后编写docker-compose.yml文件以运行应用程序。而不是建筑。这是很好的做法。非常感谢。它处理图像。我将保留构建版本,在您的回答后稍作调整,以便在编辑js文件时,在我希望实时反映更改的情况下进行日常开发。再次感谢您的回答。您不需要更改构建版本。始终使用最新版本。Kepp通过标记备份每个图像。如果它解决了你的目的,就把它标记为答案