Servicio de Docker¶
Para experimentar con Docker containers se pone a disposición de los desarrolladores una máquina con docker y portainer para acceso remoto:
https://docker.lst.tfo.upm.es/
Importante:
- Los puertos 80(http) y 443(https) están abiertos al exterior, pero usados por el auto proxy por lo que ESTA PROHIBIDO exponer en éstos puertos.
- El resto de puertos están restringidos a las redes internas
- Todos los dominios acabados en d.lst.tfo.upm.es redirigen aquí (se pueden redirigir otros dominios bajo demanda)
- El auto proxy nos permite crear virtual hosts (si añadimos a un container la variable de entorno
VIRTUAL\_HOST = micontainer.d.lst.tfo.upm.es, por ejemplo, accesos http(s) serán redirigidos a dicho container). - La única limitación es usar un nombre (en el caso anterior el nombre sería
micontainer) que no esté en uso por otro contenedor. - Adicionalmente es posible asignar otras DNS (i.e. que no terminen en d.lst.tfo.upm.es), para ello póngase en contacto con IT.
Creación de Stack.¶
Tras familiarizarse con el entorno, se puede proceder al despliegue de Stacks (i.e. Docker Compose). Para ello, acceda a la sección correspondiente en el menú lateral y pulse el botón 'Add' (Añadir) situado en la parte superior derecha. Esto abrirá el editor web, donde podrá asignar un nombre al recurso e introducir el código de configuración.
Para que un servicio sea accesible desde el exterior, se utiliza el contenedor caddy-gen (igual que para containers descrito arriba). Este sistema automatiza la creación de Virtual Hosts siguiendo estos pasos:
1. Añadir el contenedor a la red public.
2. Configurar la variable de entorno, (o etiqueta) VIRTUAL_HOST=nombre_servicio.d.lst.tfo.upm.es.
3. (Opcional) Configurar variable de entorno (o etiqueta) VIRTUAL_PORT si el container no escucha en el puerto 80 internamente.
4. enlazar la red public añadiendo el siguiente código al final de la definición del stack:
networks:
default:
external:
name: public