配置本地运行的nginx,为本地运行docker容器的端口提供服务

配置本地运行的nginx,为本地运行docker容器的端口提供服务

嗨,这可能是一个新手问题。

我正在尝试复制使用 nginx 作为 Web 服务器时出现的 502 bad gateway 错误。我在本地运行 Ubuntu 20.04.6 LTS 虚拟机,并在该虚拟机上使用以下命令新安装了 nginx

sudo apt-get install nginx

然后

nginx -v返回

nginx version: nginx/1.18.0 (Ubuntu)

并通过命令验证它正在运行

systemctl status nginx这表明它正在运行。

然后我用一个简单的Dockerfile创建了一个docker容器:

# Use the official Node.js image with Alpine Linux as the base image
FROM node:14-alpine

# Set the working directory in the container
WORKDIR /usr/src/app

# Copy package.json and package-lock.json to the working directory
COPY package*.json ./

# Install dependencies
RUN npm install

# Copy the rest of the application code to the working directory
COPY . .

# Expose the port that the app will run on
EXPOSE 9000

# Define the command to run your application
CMD ["node", "app.js"]

这是 app.js 文件

// app.js
const express = require('express');
const app = express();
const port = 9000;

app.get('/', (req, res) => {
  res.send('<h1>Hello, Docker World!</h1>');
});

app.listen(port, () => {
  console.log(`App listening at http://localhost:${port}`);
});

当我访问 localhost:9000 时,它会返回网页“Hello, Docker World!”

接下来我想使用 nginx web 服务器为这个 localhost:9000 提供服务。然后我将关闭 docker 容器,以尝试从 nginx web 服务器生成坏网关错误响应。

相关内容