如何调试react-scripts挂起?

时间:2017-02-07 02:22:55

标签: reactjs amazon-ecs create-react-app

我在AWS ECS上使用docker部署create-react-app。我正在使用dockerhub图像测试,这几乎是create-react-app的库存版本。启动任务时,它可以拉出容器映像,启动docker容器,但是它会在运行react-scripts启动时挂起。我在容器日志中看到的只有:

01:51:38 npm info it worked if it ends with ok
01:51:38 npm info using npm@2.15.11
01:51:38 npm info using node@v4.7.3
01:51:42 npm info prestart test-react@0.1.0
01:51:42 npm info start test-react@0.1.0
01:51:42 > test-react@0.1.0 start /usr/src/app
01:51:42 > react-scripts start
01:52:06 Starting the development server...

它只是挂在那里,永远不会完成。但是,当我手动运行docker容器时,一切正常:

Starting the development server...
Compiled successfully!

The app is running at:

  http://localhost:3000/

我的Dockerfile是:

FROM node:4-onbuild

# Prepare app directory
RUN mkdir -p /usr/src/app
ADD . /usr/src/app

# Install dependencies
WORKDIR /usr/src/app
RUN npm install

# Build the app
RUN npm build

# Expose the app port
EXPOSE 3000

# Start the app
CMD npm start --loglevel debug

我的package.json:

    "scripts": {
      "start": "react-scripts start",
      "build": "react-scripts build",
      "test": "react-scripts test --env=jsdom",
      "eject": "react-scripts eject"
    }
  }

寻找有关如何调试的建议或者我是否可以执行其他日志记录,谢谢!

1 个答案:

答案 0 :(得分:3)

我想通了 - 当我在ECS任务中创建了容器时,我没有为docker容器分配足够的内存,因此当它启动服务器时,内存不足并冻结了。我更改了设置以为docker容器分配更多内存,现在一切正常。