informatica:linux:docker:webserver
This is an old revision of the document!
Webserver en alta disponibilidad
Creamos primera instancia de webserver:
Dockerfile:
FROM oraclelinux:6 RUN yum install -y httpd
Creamos la imagen:
# docker build -t local/webserver .
Vemos que ha creado la siguiente imagen:
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE local/webserver latest e51c8b5d8581 17 seconds ago 762.2 MB oraclelinux 6 768a3d7b605a 2 weeks ago 222.8 MB
Arrancamos la imagen mapeando el puerto 8881 al 80 de la imagen
# docker run -p 8881:80 -d local/webserver httpd -D FOREGROUND
Si vamos a localhost:8881 nos muestra el apache del docker
Para que nos muestre contenido estático local, creamos las carpetas en nuestro servidor y mapeamos los volumenes.
Creamos carpetas:
/docker/webserver1 /docker/webserver2
Con ficheros index.html
Arrancamos el container:
docker run -p 8881:80 -v /docker/webserver1:/var/www/html -d local/webserver httpd -D FOREGROUND docker run -p 8882:80 -v /docker/webserver2:/var/www/html -d local/webserver httpd -D FOREGROUND
Ahora creamos un balanceador de carga:
Dockefile
FROM haproxy COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
haproxy.cfg
global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 4096 daemon defaults log global mode http option dontlognull retries 3 option redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 frontend http bind *:80 default_backend www backend www balance roundrobin server f0313555eafe 172.17.0.2 check port 80 server 6543461a2caa 172.17.0.3 check port 80
Creamos la imagen
docker build -t local/haproxy .
Arrancamos el container:
docker run -d -p 8800:80 local/haproxy
Si navegmos a localhost:8800 nos balancea entre los dos servidores
Añadir otro servidor a la granja:
informatica/linux/docker/webserver.1465339619.txt.gz · Last modified: 2016/06/07 22:46 by jose