Docker Compose & Nginx 反向代理配置生成器
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-alpine、WORKDIR /app、COPY package*.json、RUN npm install、COPY . .、ENV NODE_ENV=production、EXPOSE、USER node以及运行您应用的CMD指令。 - Nginx 代理配置: 生成一个监听 80 端口的
server块,并将流量代理到http://<upstream>:<port>,包含 WebSocket 头信息和真实 IP 转发。 - docker-compose.yml (Node + Nginx): 定义一个从您的 Dockerfile 构建的
app服务和一个使用生成的配置文件nginx服务。
- Dockerfile (Node): 包含
- 服务器名称: 设置 Nginx 使用的
server_name(例如example.com)。 - 上游主机/服务: 为
proxy_pass配置上游主机名或 Docker 服务名称(默认为app)。 - 复制按钮: 一键将生成的代码片段复制到剪贴板。
工作原理
该工具读取您选择的输出类型(Docker、Nginx 或 Compose)以及端口、服务器名称和上游主机。然后,它在浏览器中逐行组装模板,并将最终字符串写入输出文本区域——不涉及后端、文件 I/O 或外部服务。当您点击复制时,文本会被写入您的剪贴板,以便您可以直接粘贴到项目中。
示例工作流程
- 为 Node 应用生成 Dockerfile:
- 将端口设置为您应用监听的内部端口(例如
3000)。 - 选择Dockerfile (Node)。
- 点击复制,并将内容保存为项目根目录下的
Dockerfile文件。
- 将端口设置为您应用监听的内部端口(例如
- 为 Docker 化应用创建 Nginx 反向代理:
- 将端口设置为您应用容器的端口。
- 将服务器名称设置为您的域名(例如
myapp.com)。 - 将上游主机/服务设置为您应用容器或服务的名称(例如
app)。 - 选择Nginx 代理配置,复制输出,并将其在服务器上或镜像中保存为
nginx.conf文件。
- 使用 docker-compose 连接 Node 和 Nginx:
- 将Dockerfile (Node) 输出用作您的
Dockerfile。 - 生成一个Nginx 代理配置,并将其保存为
nginx.conf。 - 选择docker-compose.yml (Node + Nginx),并将输出复制到
docker-compose.yml文件中。 - 运行
docker compose up -d来启动两个服务。
- 将Dockerfile (Node) 输出用作您的
尝试 Docker Compose 与 Nginx 反向代理配置生成器
打开该工具,选择您的端口和输出类型,并将生成的代码片段复制到您的项目中。之后,您可以调整命令、环境变量和高级 Nginx 选项,同时保持一个坚实、面向生产的基础配置。