我正在尝试在AWS EC2上运行Node js服务器
我的dockerfile:
FROM node:lts-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 80
CMD ["node", "server.js"]
我的server.js
内是一个侦听端口80的快速Web服务器。
有什么想法我做错了吗?
答案 0 :(得分:1)
您的容器的端口80似乎未分配给主机的端口。 EXPOSE
指令不为您执行此操作。来自Docker docs:
EXPOSE指令实际上没有发布端口。它充当构建映像的人员和运行容器的人员之间的一种文档类型,有关打算发布哪些端口的信息。 要在运行容器时实际发布端口,请在docker run上使用-p标志发布并映射一个或多个端口,或-P标志< / strong>,以发布所有公开的端口并将它们映射到高阶端口。