我正在构建两个微服务并对它们进行docker化。我有一个包含脚本(
所以我的问题是:我可否将
PackageA
)的文件夹,我需要在两个服务(ServiceA & B
)中使用该脚本。我的文件夹结构如下:Root
|
|--Docker
|--ProjectA
|-docker-compose.yml (builds ServiceA & ServiceB)
|--Services
|--PackageA
|-src
|-index.js
|-package.json
|--ServiceA
|-src
|-index.js
|-Dockerfile
|-package.json
|--ServiceB
|-src
|-index.js
|-Dockerfile
|-package.json
我的docker-compose.yml
文件:
version: '3'
networks:
mynetwork:
services:
servicea:
build: ./../../Services/ServiceA
container_name: servicea
ports:
- ...
networks:
- mynetwork
serviceb:
build: ./../../Services/ServiceB
ports: serviceb
- ...
networks:
- mynetwork
在这两个服务中,Dockerfile
的格式如下:
FROM node:16
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
# If you are building your code for production
# RUN npm ci --only=production
COPY . ./
EXPOSE ...
CMD [ "node", "index.js" ]
所以我的问题是:我可否将
PackageA
Docker化并创建一个包含其内容的volume,然后在ServiceA & B
中使用该volume?如何在容器之间共享volumes?
npm i PackageA
进行安装,对吗? - ask4you