我正在尝试使用react项目启动Docker容器,该项目是使用npm init react-app创建的。
这是我的docker文件
# Specify a base image
FROM node:alpine
WORKDIR /usr/app
# Install some depenendencies
COPY ./package.json ./
RUN npm install
COPY ./ ./
# Default command
CMD ["npm", "run", "start"]
Docker build .
成功创建了一个图像(带有很多npm警告),然后当我运行Docker run <image>
时,这是终端中的输出
> mytest@0.1.0 start /usr/app
> react-scripts start
ℹ 「wds」: Project is running at http://172.17.0.2/
ℹ 「wds」: webpack output is served from
ℹ 「wds」: Content not from webpack is served from /usr/app/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...
一旦它击中Starting the development server...
,它就会在我的终端上停止运行。如果我检查Docker ps
,则看不到任何容器在运行,如果我运行Docker ps -a
,则可以看到一个容器已启动,然后立即退出。
Docker logs
显示上面的终端输出,有人遇到这种情况吗?仅在我的npm init react-app项目中,我的其他nodejs + express项目在完全相同的docker文件下运行良好
答案 0 :(得分:39)
答案 1 :(得分:22)
{{1}}解决了我的问题。
答案 2 :(得分:11)
使用City: 'South Pierceberg'
运行命令对我有用:
-it
答案 3 :(得分:4)
答案 4 :(得分:4)
遇到同样的问题。 -it 标志解决了该问题。
docker run -it -p 3001:3001 <image-id>
答案 5 :(得分:4)
我遇到了与您相同的问题,只是运行以上命令对其进行了修复:
sudo docker run -it -p 3001:3000 Image-Name
希望有帮助
答案 6 :(得分:4)
我解决了这个问题。在package.json内部,将“ react-scripts”:“ 3.4.1”替换为“ react-scripts”:“ 3.4.0”
然后重建映像,它可以正常工作! 他们用react-script弄乱了一些东西”:“ 3.4.1” 只需使用3.4.0版本
答案 7 :(得分:0)
您也可以使用带有 -itd 标志的以下内容。
sudo docker run -itd -p 3001:3000 Image-Name