在docker-compose.yml中创建卷并运行docker-compose并在“ yarn run”步骤中运行时,它说(错误在“ / usr / src / app”中找不到package.json文件)< / p>
我的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
package.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"
}
}
答案 0 :(得分:0)
为什么这里需要音量?您的Docker文件会压缩其中的所有文件,并将它们放置在Docker映像内。另外,运行yarn
将安装依赖项并将其放置在/usr/src/app
中。
在docker-compose ==>上添加卷将删除docker映像中的所有文件,并将其与文件放在本地路径./listings-service