【问题标题】:docker-compose failed on friend's linux computerdocker-compose 在朋友的 linux 计算机上失败
【发布时间】: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


【解决方案1】:

因为您忘记了卷路径行上的“:”。

./node_back/node_modules

您应该使用 ':' 来分隔本地卷和 docker 卷

./node_back/node_modules:WHERE-YOUR-WANT-DOCKER-PATH

【讨论】:

  • 它在我这边工作,询问朋友在他的电脑上是否可以。谢谢!
  • 我试过这个:- ./node_back/node_modules:/app/node_modules
猜你喜欢
  • 2019-12-23
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 2017-08-12
  • 2019-11-09
  • 2023-01-18
  • 2020-02-27
相关资源
最近更新 更多