docker nginx balanceo de carga no funciona con Azure

Ok, he estado probando esta configuration por un día completo ahora. No puedo hacer que Nginx conecte el nombre de dominio que azure me dio a los contenedores docker mi node .

Estoy usando Azure para crear una VM . El DNS name es scout-1j013s34.cloudapp.net La virtual IP address es 191.237.66.86

Puedo ingresar a la VM con ssh monty@scout-1j013s34.cloudapp.net -p 61777 . No estoy seguro de por qué necesito especificar un puerto?

La VM está ejecutando Ubuntu 14.04 . Instalé el docker yo mismo.

Encontré y seguí el siguiente tutorial. A sample Docker workflow with Nginx, Node.js and Redis

Construí y ejecuté los contenedores como se muestra a continuación.

procesos de docker

Aquí está mi file 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; } } } 

cuando ingreso http://scout-1j013s34.cloudapp.net/ en la barra de direcciones del browser, se agota el time.

Actualización: EXPOSE 1337 en mi Dockerfile para exponer los 1337 puertos para cada contenedor de nodos.

Para cada contenedor de nodo, ejecuté el docker run -it --name node1 --link mongo:MONGODB -v /home/monty/scout/backend-api/:/scout-sails mlennie/scout-sails bash cambiando el nombre a node2 y node3 para los 2 siguientes, luego entré en cada contenedor y comencé la aplicación sails.js con sails lift sails.js .

Luego inicié el contenedor nginx y lo docker run -d --name nginx -p 80:80 --link node1:node1 --link node2:node2 --link node3:node3 mlennie/nginx a los contenedores de 3 nodos con el command docker run -d --name nginx -p 80:80 --link node1:node1 --link node2:node2 --link node3:node3 mlennie/nginx

Ok, lo tengo funcionando. Necesitaba agregar manualmente un punto final a través del portal de administración de Azure con un puerto de 80.