Docker 如果我使用create react应用程序,是否需要react脚本
我想在docker中运行我的create react应用程序。我创建react应用程序。编写Docker 如果我使用create react应用程序,是否需要react脚本,docker,create-react-app,nodemon,Docker,Create React App,Nodemon,我想在docker中运行我的create react应用程序。我创建react应用程序。编写Dockerfile: FROM node:10.13.0 RUN mkdir /frontend WORKDIR /frontend RUN npm install -g nodemon EXPOSE 9000 # CMD npm start - (1) # CMD nodemon start - (2) # CMD nodemon ./src/index.js - (3) version:
Dockerfile
:
FROM node:10.13.0
RUN mkdir /frontend
WORKDIR /frontend
RUN npm install -g nodemon
EXPOSE 9000
# CMD npm start - (1)
# CMD nodemon start - (2)
# CMD nodemon ./src/index.js - (3)
version: '2'
services:
frontend-dev:
build:
context: ./frontend
dockerfile: Dockerfile.dev
volumes:
- ./frontend:/frontend
ports:
- "9000:9000"
我不安装node_模块,也不将所有文件复制到映像中,因为我将对卷执行此操作。然后我创建一个dockerfile
:
FROM node:10.13.0
RUN mkdir /frontend
WORKDIR /frontend
RUN npm install -g nodemon
EXPOSE 9000
# CMD npm start - (1)
# CMD nodemon start - (2)
# CMD nodemon ./src/index.js - (3)
version: '2'
services:
frontend-dev:
build:
context: ./frontend
dockerfile: Dockerfile.dev
volumes:
- ./frontend:/frontend
ports:
- "9000:9000"
嗯。现在,我在Dockerfile.dev中取消注释(1)(现在最后3行已注释)并运行
并且出现错误“未找到反应脚本”。好啊这是因为我没有运行npm安装
。我想在容器内执行npm安装。但是在这个错误之后,我的容器停止了,我无法执行这个命令。好啊我从一位男士那里听说,我可以使用nodemon
启动我的应用程序,如果出现错误,我的容器将不会停止
嗯。让我们评论(1)和取消注释(2)。比跑
docker-compose -f dockerfile.dev.yml down
docker-compose -f dockerfile.dev.yml build
docker-compose -f dockerfile.dev.yml up
和。。同样的问题。。。容器已停止。好啊我认为这是因为默认情况下,script
会启动react脚本。这可能是失败的原因吗?运行注释(2)和取消注释(3)`
是工作吗?。。不集装箱还没有停下来。所以,我可以跑了
docker-compose -f docker-compose.dev.yml exec frontend-dev npm install
docker-compose -f docker-compose.dev.yml restart frontend-dev
但它不起作用,因为我还有一个错误:
frontend-dev_1 | /frontend/src/index.js:1
frontend-dev_1 | (function (exports, require, module, __filename, __dirname) { import React from 'react';
frontend-dev_1 | ^^^^^
frontend-dev_1 |
frontend-dev_1 | SyntaxError: Unexpected identifier
frontend-dev_1 | at new Script (vm.js:79:7)
frontend-dev_1 | at createScript (vm.js:251:10)
frontend-dev_1 | at Object.runInThisContext (vm.js:303:10)
frontend-dev_1 | at Module._compile (internal/modules/cjs/loader.js:656:28)
frontend-dev_1 | at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
frontend-dev_1 | at Module.load (internal/modules/cjs/loader.js:598:32)
frontend-dev_1 | at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
frontend-dev_1 | at Function.Module._load (internal/modules/cjs/loader.js:529:3)
frontend-dev_1 | at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
frontend-dev_1 | at startup (internal/bootstrap/node.js:285:19)
frontend-dev_1 | [nodemon] app crashed - waiting for file changes before starting...
我不知道我在做什么,我不知道我需要什么。。我需要这个“反应脚本”吗?他们在做什么?react脚本
真的很重要吗?如何使用docker运行我的应用程序?也许(2)这个方法是对的,我只需要修好其他的小东西?。。请帮帮我