好吧,现在一直在尝试这个设置一整天。我无法让Nginx将azure
给我的域名连接到我的node
docker
容器。docker nginx负载均衡不适用于Azure
我使用Azure
创建一个。 的DNS name
是scout-1j013s34.cloudapp.net
的virtual IP address
是191.237.66.86
我可以ssh
到与ssh [email protected] -p 61777
。我不知道为什么我需要指定一个端口?
正在运行Ubuntu 14.04
。 我自己安装了docker
。
我发现,跟着下面的教程A sample Docker workflow with Nginx, Node.js and Redis
我建,并运行容器,如下图所示。
这里是我的nginx.conf
文件
worker_processes 4;
events { worker_connections 1024; }
http {
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
upstream node-app {
least_conn;
server node1:1337 weight=10 max_fails=3 fail_timeout=30s;
server node2:1337 weight=10 max_fails=3 fail_timeout=30s;
server node3:1337 weight=10 max_fails=3 fail_timeout=30s;
}
server {
listen 80;
server_name 191.237.66.86 scout-1j013s34.cloudapp.net www.scout-1j013s34.cloudapp.net;
location/{
proxy_pass http://node-app;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
当我输入http://scout-1j013s34.cloudapp.net/
到浏览器地址栏,超时。
更新: 我有EXPOSE 1337
我Dockerfile
揭露1337个端口,每个节点的容器。
对于每个节点容器,我运行docker run -it --name node1 --link mongo:MONGODB -v /home/monty/scout/backend-api/:/scout-sails mlennie/scout-sails bash
将名称更改为node2和node3,然后进入每个容器,然后开始sails.js
应用程序sails lift
。
然后,我开始nginx的容器,并将其与命令联系到3个容器docker run -d --name nginx -p 80:80 --link node1:node1 --link node2:node2 --link node3:node3 mlennie/nginx
你的Nginx日志里有什么?你有[链接](https://docs.docker.com/userguide/dockerlinks/)节点到你的Nginx容器?你有暴露端口1337的节点? – OrangeTux
@OrangeTux我刚刚更新了问题来回答你的问题。我只是将日志记录路径添加到nginx.conf文件。所以我会尽力找到日志。我相信我确实将节点链接到了nginx,并且我在dockerfile的节点上公开了1337端口。 –