我在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"
}
}
寻找有关如何调试的建议或者我是否可以执行其他日志记录,谢谢!
答案 0 :(得分:3)
我想通了 - 当我在ECS任务中创建了容器时,我没有为docker容器分配足够的内存,因此当它启动服务器时,内存不足并冻结了。我更改了设置以为docker容器分配更多内存,现在一切正常。