[英]Is this Docker / NGINX / Node setup actually load balancing as expected?
[英]docker nginx load balancing not working with Azure
好的,現在已經嘗試了一整天了。 我無法讓Nginx將azure
給我的域名連接到我的node
docker
容器。
我正在使用Azure
創建VM
。 DNS name
是scout-1j013s34.cloudapp.net
virtual IP address
是191.237.66.86
我可以ssh
到VM
與ssh monty@scout-1j013s34.cloudapp.net -p 61777
。 我不確定為什么需要指定端口?
VM
正在運行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並接下來的2個node3,然后我進入每個容器,並用sails.js
sails lift
啟動了sails.js
應用程序。
然后我啟動了nginx容器,並使用命令docker run -d --name nginx -p 80:80 --link node1:node1 --link node2:node2 --link node3:node3 mlennie/nginx
將其鏈接到3個節點容器docker run -d --name nginx -p 80:80 --link node1:node1 --link node2:node2 --link node3:node3 mlennie/nginx
好的,我可以正常工作了,我需要通過Azure管理門戶手動添加一個端口為80的終結點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.