[英]Docker compose volumes in nodejs microservices application
当在 docker-compose.yml 中制作卷并运行 docker-compose up 并在“yarn run”步骤中,它说(错误在“/usr/src/app”中找不到 package.json 文件)
我的 Dockerfile
FROM node:12
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json .
COPY yarn.lock .
RUN yarn
COPY . .
CMD [ "yarn", "watch" ]
docker-compose.yml
version: "3"
services:
listings-service:
build: ./listings-service
volumes:
- ./listings-service:/usr/src/app
包.json
{
"name": "listings-service",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"watch": "babel-watch -L ./index.js"
},
"devDependencies": {
"babel-watch": "^7.0.0",
"nodemon": "^2.0.2"
},
"dependencies": {
"@babel/core": "^7.9.0",
"@babel/polyfill": "^7.8.7",
"@babel/preset-env": "^7.9.0",
"babel-plugin-module-resolver": "^4.0.0",
"core-js": "3"
}
}
为什么这里需要音量? 您的 docker 文件会编译所有文件并将它们放入 docker 映像中。 此外,运行yarn
将安装依赖项并将它们放在/usr/src/app
。
在 docker-compose 上添加卷 ==> ./listings-service
镜像中的所有文件将被删除并与本地路径中的文件一起放置./listings-service
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.