fee*_*lay 2 javascript node.js docker reactjs docker-compose
当我运行时,docker-compose build我看到 package.json 的依赖项已安装在容器上,但没有安装在我的计算机上。因此,当我运行之后,docker-compose up我收到错误,提示找不到依赖项,即:Error: Cannot find module 'express'
我的应用程序结构非常简单,如下所示:
|____frontend
| |____index.html
| |____index.js
| |____webpack.config.js
| |____yarn.lock
| |____package.json
| |____dev.Dockerfile
|____backend
| |____server.js
| |____yarn.lock
| |____package.json
| |____dev.Dockerfile
|____docker-compose.yml
Run Code Online (Sandbox Code Playgroud)
我的 docker-compose.yml:
version: "3.3"
services:
frontend:
build:
context: .
dockerfile: frontend/dev.Dockerfile
volumes:
- ./frontend:/frontend:cached
command: yarn start
backend:
build:
context: .
dockerfile: backend/dev.Dockerfile
volumes:
- ./backend:/backend:cached
command: yarn start
Run Code Online (Sandbox Code Playgroud)
这是前端的 Dockerfile(后端看起来相同):
FROM node:latest
WORKDIR "/frontend/"
COPY frontend/package.json frontend/package.json
COPY frontend/yarn.lock frontend/yarn.lock
RUN yarn
Run Code Online (Sandbox Code Playgroud)
这个配置有什么问题吗?我缺少什么?
小智 5
我遇到了类似的问题,并通过将匿名卷添加到我的 docker-compose 文件中的 node_modules 目录来解决它。因此 docker-compose 文件中的卷将如下所示:
volumes:
- './frontend:/frontend:cached'
- '/frontend/node_modules'
Run Code Online (Sandbox Code Playgroud)
我从这篇博客文章中得到了这个想法
| 归档时间: |
|
| 查看次数: |
2140 次 |
| 最近记录: |