node.js - 为什么我的 Docker 容器没有运行我的 Nodejs 应用程序?
问题描述
最终目标:启动一个在 3000 端口上运行我的 expressjs 应用程序的 docker 容器(就像我使用 npm start 一样)。
详细信息:我使用的是 Windows 10 企业版:
这是一个非常基本的前端Expressjs
应用程序。它运行良好npm start
- 没有错误。
我正在使用的 Dockerfile:
FROM node:8.11.2
WORKDIR /app
COPY package.json .
RUN npm install
COPY src .
CMD node src/index.js
EXPOSE 3000
步骤:我可以使用基本的 docker build 命令创建图像:
docker build –t portfolio-img .
运行图像(我正在使用教程www.katacoda.com/courses/docker/deploying-first-container中的此命令):
docker run -d --name portfolio-container -p 3000:3000 portfolio-img
容器未运行。它已创建,因为我可以检查它,但它在命令后退出。我猜我最后一个命令做错了,或者我没有在 dockerfile 中给出正确的说明。
如果有人能指出我正确的方向,我将不胜感激。已经在 docker 文档和此处进行了很多搜索。
解决方案
推荐阅读
- java - Spring Boot @RestController 无法自动将响应转换为 JSON
- angular - Angular 路由器事件 NavigationEnd 未按预期触发
- java - 如何查看 pom.xml 中的哪个条目负责外部依赖项
- python - Pandas 用居中的条(金字塔)绘制 barh
- java - 将变量从 android 客户端发布到 php 服务器时出错
- r - 使用四分位数范围识别异常值
- powershell - 无法将新变量上传到数据库;Invoke-RestMethod 使用不当?
- angular - Angular - 将对象更改为数组并使其在更改时监听
- gatsby - 在 AWS Amplify 的 Gatsby 站点上设置 404 页面时出现问题
- amazon-web-services - 当我在访问策略中指定 Principal 时,消息未发送到 SQS