Nik*_*nov 3 docker reactjs docker-compose
Linux 18.04
创建反应应用程序2.0
码头工人19.09.0
文件
# base image
FROM node:9.6.1
# set working directory
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH
ADD package.json /package.json
# install and cache app dependencies
COPY package.json /usr/src/app/package.json
RUN npm install --save --silent
RUN npm install react-scripts@latest -g --silent
# start app
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '3.5'
services:
provisioning-app:
container_name: prv-app
build:
context: .
dockerfile: Dockerfile
volumes:
- '.:/usr/src/app'
- '/usr/src/app/node_modules'
ports:
- '3000:3000'
environment:
- NODE_ENV=development
Run Code Online (Sandbox Code Playgroud)
一切正常,但安装新软件包后 docker 停止按预期工作。每次我运行docker-compose up它都会失败并显示“找不到模块”错误。虽然npm start工作得很好。我已经尝试了很多在网上找到的解决方法:
npm i再次运行npm install// 的不同组合,--save包括 Dockerfile 中的 --save它只是不起作用,我无法自己处理。任何想法为什么会发生这种情况?
奇怪的是,但这段代码有效。我是 Docker 的菜鸟,所以我不知道有什么区别
docker run -it \
-v ${PWD}:/usr/src/app \
-v /usr/src/app/node_modules \
-p 3000:3000 \
--rm \
prov-app
Run Code Online (Sandbox Code Playgroud)
一切正常,但安装新软件包后 docker 停止按预期工作。每次运行 docker-compose up 时,它都会因“找不到模块”错误而失败。
您需要重建映像才能安装该软件包。docker-compose build, 进而docker-compose up
编辑
根据您的更新,我意识到问题在于您的旧 node_module 卷在构建之间持续存在。尝试docker-compose down -v之前up。
| 归档时间: |
|
| 查看次数: |
3171 次 |
| 最近记录: |