Docker Compose & Nginx 反向代理配置生成器

Docker Compose & Nginx Reverse Proxy Config Generator
Copied!
Port
Output
Generated config

Docker Compose 与 Nginx 反向代理配置生成器 — 生产就绪的入门模板

Docker Compose 与 Nginx 反向代理配置生成器为 Node.js 应用程序构建了预设的、适合生产环境的代码片段:一个极简的 Dockerfile、一个 Nginx 反向代理配置,或者一个将 Node 和 Nginx 连接起来的 docker-compose.yml 文件。您只需提供端口、服务器名称(用于 Nginx)以及可选的环境变量,该工具就会输出可复制粘贴的配置,您可以用作起点。

为何使用此工具?

  • 快速设置: 无需搜索文档或复制旧的代码片段;在一个地方生成 Docker、Nginx 或 Compose 配置。
  • 面向生产的默认设置: 使用 Node 20 Alpine 镜像、利于缓存的 Docker 构建、非 root 用户以及能保留真实客户端 IP 的代理头。
  • Docker 感知的 Nginx: proxy_pass 指向一个可配置的上游服务名称,而不是总指向 127.0.0.1,这使得它在多容器部署中更安全。
  • 易于定制: 将结果粘贴到您的代码仓库中,并根据需要调整路径、命令和环境变量。

主要特性

  • 端口输入: 选择应用程序端口(默认为 3000)。
  • 输出类型选择器:
    • Dockerfile (Node): 包含 FROM node:20-alpineWORKDIR /appCOPY package*.jsonRUN npm installCOPY . .ENV NODE_ENV=productionEXPOSEUSER node 以及运行您应用的 CMD 指令。
    • Nginx 代理配置: 生成一个监听 80 端口的 server 块,并将流量代理到 http://<upstream>:<port>,包含 WebSocket 头信息和真实 IP 转发。
    • docker-compose.yml (Node + Nginx): 定义一个从您的 Dockerfile 构建的 app 服务和一个使用生成的配置文件 nginx 服务。
  • 服务器名称: 设置 Nginx 使用的 server_name(例如 example.com)。
  • 上游主机/服务:proxy_pass 配置上游主机名或 Docker 服务名称(默认为 app)。
  • 复制按钮: 一键将生成的代码片段复制到剪贴板。

工作原理

该工具读取您选择的输出类型(Docker、Nginx 或 Compose)以及端口、服务器名称和上游主机。然后,它在浏览器中逐行组装模板,并将最终字符串写入输出文本区域——不涉及后端、文件 I/O 或外部服务。当您点击复制时,文本会被写入您的剪贴板,以便您可以直接粘贴到项目中。

示例工作流程

  • 为 Node 应用生成 Dockerfile:
    1. 端口设置为您应用监听的内部端口(例如 3000)。
    2. 选择Dockerfile (Node)
    3. 点击复制,并将内容保存为项目根目录下的 Dockerfile 文件。
  • 为 Docker 化应用创建 Nginx 反向代理:
    1. 端口设置为您应用容器的端口。
    2. 服务器名称设置为您的域名(例如 myapp.com)。
    3. 上游主机/服务设置为您应用容器或服务的名称(例如 app)。
    4. 选择Nginx 代理配置,复制输出,并将其在服务器上或镜像中保存为 nginx.conf 文件。
  • 使用 docker-compose 连接 Node 和 Nginx:
    1. Dockerfile (Node) 输出用作您的 Dockerfile
    2. 生成一个Nginx 代理配置,并将其保存为 nginx.conf
    3. 选择docker-compose.yml (Node + Nginx),并将输出复制到 docker-compose.yml 文件中。
    4. 运行 docker compose up -d 来启动两个服务。

尝试 Docker Compose 与 Nginx 反向代理配置生成器

打开该工具,选择您的端口和输出类型,并将生成的代码片段复制到您的项目中。之后,您可以调整命令、环境变量和高级 Nginx 选项,同时保持一个坚实、面向生产的基础配置。