我刚刚使用 Docker 容器将 Web 应用程序部署到 GCP 实例。我对此很陌生,这是我第一次这样做。问题是我无法通过外部IP访问该应用程序。我在防火墙中只有可用端口 80 和 443,但现在我只是在端口 80 上运行它。我已经尝试执行 wget localhost:80 ,这就是它显示的内容:
--2024-01-10 19:43:40-- (try: 3) http://localhost/
Connecting to localhost (localhost)|::1|:80... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.
docker容器运行没有问题。我不知道这是否与 docker-entrypoint 有关。我没有指定,我只是使用一个简单的 dockerfile 创建我的 Next.js 应用程序:
FROM node:18
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build
CMD ["npm", "start"]
并使用此命令启动容器:
docker build -t project . && docker run -dp 80:80 project
问题是我没有打开实例的端口,而且在 package.json 中我忘记指定 npm start 的端口。谢谢大家!