Javascript 尝试使用Docker启动react应用程序时出现未知错误
我是Docker的新手。当我尝试启动我的react应用程序(今天早上运行得非常好)时,我遇到了一个我无法理解的错误:Javascript 尝试使用Docker启动react应用程序时出现未知错误,javascript,reactjs,docker,babeljs,Javascript,Reactjs,Docker,Babeljs,我是Docker的新手。当我尝试启动我的react应用程序(今天早上运行得非常好)时,我遇到了一个我无法理解的错误: gui_1 | ./node_modules/react-scripts/node_modules/react-dev-utils/webpackHotDevClient.js gui_1 | Error: [BABEL] /appcode/node_modules/react-scripts/node_modules/react-dev-utils/webpac
gui_1 | ./node_modules/react-scripts/node_modules/react-dev-utils/webpackHotDevClient.js
gui_1 | Error: [BABEL] /appcode/node_modules/react-scripts/node_modules/react-dev-utils/webpackHotDevClient.js: Cannot find module 'gensync'
gui_1 | Require stack:
gui_1 | - /appcode/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-destructuring/node_modules/@babel/core/lib/gensync-utils/async.js
gui_1 | - /appcode/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-destructuring/node_modules/@babel/core/lib/config/caching.js
gui_1 | - /appcode/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-destructuring/node_modules/@babel/core/lib/config/files/utils.js
gui_1 | - /appcode/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-destructuring/node_modules/@babel/core/lib/config/files/package.js
gui_1 | - /appcode/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-destructuring/node_modules/@babel/core/lib/config/files/index.js
gui_1 | - /appcode/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-destructuring/node_modules/@babel/core/lib/index.js
gui_1 | - /appcode/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-destructuring/lib/index.js
gui_1 | - /appcode/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/lib/available-plugins.js
gui_1 | - /appcode/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/lib/index.js
gui_1 | - /appcode/node_modules/babel-preset-react-app/dependencies.js
gui_1 | - /appcode/node_modules/react-scripts/node_modules/@babel/core/lib/config/files/plugins.js
gui_1 | - /appcode/node_modules/react-scripts/node_modules/@babel/core/lib/config/files/index.js
gui_1 | - /appcode/node_modules/react-scripts/node_modules/@babel/core/lib/index.js
gui_1 | - /appcode/node_modules/react-scripts/node_modules/babel-loader/lib/index.js
gui_1 | - /appcode/node_modules/loader-runner/lib/loadLoader.js
gui_1 | - /appcode/node_modules/loader-runner/lib/LoaderRunner.js
gui_1 | - /appcode/node_modules/webpack/lib/NormalModule.js
gui_1 | - /appcode/node_modules/webpack/lib/NormalModuleFactory.js
gui_1 | - /appcode/node_modules/webpack/lib/Compiler.js
gui_1 | - /appcode/node_modules/webpack/lib/webpack.js
gui_1 | - /appcode/node_modules/react-scripts/config/webpack.config.js
gui_1 | - /appcode/node_modules/react-app-rewired/scripts/start.js (While processing: "/appcode/node_modules/babel-preset-react-app/dependencies.js")
知道我在和docker一起练习,我决定今天早上删除我所有的图像(包括上面有react应用程序的图像)。所以我一直在尝试重新构建并重新启动它,但我总是遇到我不理解的错误。我看到我的core-js被弃用了(core)-js@2.6.11),与一起使用(因此在我的node_modules/babel运行时文件夹中)
(尝试安装所有依赖项时,docker发出错误消息):
和我的docker-compose.yml文件:
version: '3.7'
services:
server:
command: sh -c "cd /appcode && ./server.py"
build:
context: ./server
cache_from:
- ifcopenshell
ports:
- '5000:5000'
volumes:
- ./server:/appcode
gui:
command: sh -c "cd /appcode && yarn && yarn start"
build: ./gui
environment:
- CHOKIDAR_USEPOLLING=TRUE
ports:
- '3000:3000'
volumes:
- ./gui:/appcode
- /appcode/node_modules
Dockerfile缺少应用程序代码中的
COPY
部分以及要运行的默认CMD
。你能把文件的其余部分加进去吗?对不起,我忘了提到它,但我有一个docker-compose.yml文件。我刚刚编辑了我的帖子来展示它。您的卷:
行告诉Docker始终使用容器第一次运行时的节点模块
树的版本,并主动忽略基本映像中的任何其他更新。感谢您的回答。我该如何补救呢?我的建议是删除所有卷:
,将您的代码复制到您的图像中(并可能将其构建成静态内容),并使用本地节点进行日常开发。Dockerfile缺少应用程序代码中的COPY
部分以及要运行的默认CMD
。你能把文件的其余部分加进去吗?对不起,我忘了提到它,但我有一个docker-compose.yml文件。我刚刚编辑了我的帖子来展示它。您的卷:
行告诉Docker始终使用容器第一次运行时的节点模块
树的版本,并主动忽略基本映像中的任何其他更新。感谢您的回答。我该如何补救呢?我的建议是删除所有卷:
,将您的代码复制到您的图像中(并可能将其构建成静态内容),并使用本地节点进行日常开发。
FROM node:latest
COPY package.json /appcode/
RUN set -x; \
cd /appcode; \
yarn install; \
rm package.json yarn.lock;
version: '3.7'
services:
server:
command: sh -c "cd /appcode && ./server.py"
build:
context: ./server
cache_from:
- ifcopenshell
ports:
- '5000:5000'
volumes:
- ./server:/appcode
gui:
command: sh -c "cd /appcode && yarn && yarn start"
build: ./gui
environment:
- CHOKIDAR_USEPOLLING=TRUE
ports:
- '3000:3000'
volumes:
- ./gui:/appcode
- /appcode/node_modules