【发布时间】:2022-01-09 18:13:13
【问题描述】:
我开始学习 Docker,我正在学习这个(非常)长的教程:https://www.youtube.com/watch?v=9zUHg7xjIqQ
我有一个 Dockerfile 和一个 docker-compose.yml 。
它在我的机器上运行良好(我们都知道这句话),但是当我的朋友拉出我所做的事情时,他得到了这个错误消息:
Error response from daemon: invalid mount config for type "volume": invalid mount path: 'node_back/node_modules' mount path must be absolute
这是我的文件:
node_back/中的Dockerfile:
WORKDIR /app
COPY package.json .
RUN npm install
COPY . ./
EXPOSE 3000
CMD ["npm", "run", "dev"]
docker-compose 在根目录:
services:
back-container:
build: ./node_back
image: back-image:tag
ports:
- "3000:3000"
volumes:
- ./node_back:/app
- ./node_back/node_modules
environment:
- PORT=3000
我使用了以下命令:
sudo docker-compose up -d
启动 docker 脚本。
谁能解释我的错误,以及为什么它对我有用?
谢谢!
【问题讨论】:
-
我很惊讶您说它在您的计算机上运行良好。
./node_back/node_modules行总是会给出这个错误,AFAIK。 -
是的,这很奇怪。我尝试了 Berkay Korkmaz 的解决方案
-
我建议顺便删除那些
volumes:行。他们为您提供的是一种在您的主机系统上运行node的非常迂回的方式,它需要管理员权限并且忽略对package.json文件的更新。您可以使用node进行日常开发,如果您需要使用 Docker,请运行实际内置到映像中的代码。
标签: node.js docker docker-compose path dockerfile