我想运行一个node-red实例(在docker内部)并在两个端口上公开http端点,例如:1880和:1881。如何配置node-red监听两个端口?
我有点好奇你为什么要这样做。但肯定有办法做到这一点。这是使用 docker-compose 和 nginx 的示例。 Nginx 将侦听端口 1880 和 1881,并将任何请求传递到节点红色容器。
使用以下内容创建一个名为 nginx.conf 的 Nginx 配置文件
server {
listen 1880;
location / {
proxy_pass http://nodered:1880/;
}
}
server {
listen 1881;
location / {
proxy_pass http://nodered:1880/;
}
}
还有一个 docker-compose.yml 文件
version: '3'
services:
nodered:
image: nodered/node-red
proxy:
image: nginx:alpine
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
ports:
- 1880:1880
- 1881:1881
使用
docker compose up -d
旋转容器,您应该能够在 http://localhost:1880/
和 http://localhost:1881/
上达到节点红色。