Estoy tratando de Dockerize a / aplicación web Frasco reaccionar durante facilidad de desarrollo / colaboración, pero tener problemas para conseguir una respuesta adecuada de la aplicación. Soy capaz de obtener la imagen construida y el servidor Frasco comenzó en un contenedor, pero tener problemas en realidad golpeándola.
Utilizamos HAProxy a transmitir las peticiones, y las cosas funcionan bien cuando tengo el proxy y servidor web que se ejecutan localmente. El tema ha sido cada ventana acoplable en la mezcla. Creo que debe ser un problema de asignación de puertos, pero estoy fuera de ideas y siento que puede faltar clave sutilezas HAProxy / acoplables. Las miradas de archivos proxy.cfg de la siguiente manera (con los ejércitos ajenos no incluidos):
global
maxconn 4096
pidfile ~/tmp/haproxy.pid
defaults
log global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
mode http
timeout connect 300000
timeout client 300000
timeout server 300000
maxconn 2000
option redispatch
retries 3
option httpclose
option httplog
option forwardfor
option httpchk HEAD / HTTP/1.0
frontend dev
bind *:8080 ssl crt ./proxy.pem
acl allow_web path_beg /app/
use_backend be_web if allow_web
backend be_web
balance roundrobin
server web_5000 localhost:5000
Dockerfile:
FROM node:10.6.0
RUN apt-get update
RUN apt-get install -y python-pip python-dev build-essential
WORKDIR /usr/src/app
COPY ./package.json .
RUN npm install
COPY . .
RUN pip install -e ./server
CMD [npm, start]
cargador de muelle-compose.yml:
version: 3
services:
userportal:
build: .
volumes:
- /usr/src/app/node_modules
- .:/usr/src/app
ports:
- 5000:5000
El servidor Flask se une al puerto 5000 de ahí el mapeo. He intentado sustituir la dirección IP contenedor para localhost
(por ejemplo 172.19.0.2:5000
), pero mismo resultado.
Nota HAProxy se ejecuta en su propio terminal y no está dentro de un recipiente.