|
|
#Rutado de puertos
|
|
|
|
|
|
Para el rutado de puertos se utiliza [traefic](https://doc.traefik.io/traefik/getting-started/install-traefik/) en su versión docker
|
|
|
```yaml
|
|
|
|
|
|
La [documentación de traefic](https://doc.traefik.io/traefik/providers/docker/) explica como funciona el routeo de dockers
|
|
|
Para simplificar la tarea utilizamos un único docker compose donde inicializamos traefic de la siguiente forma siguiendo el [quickstart](https://doc.traefik.io/traefik/getting-started/quick-start/)
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
traefik:
|
|
|
image: traefik:v3.4
|
|
|
container_name: proxy
|
... | ... | @@ -13,9 +17,23 @@ traefik: |
|
|
- iroko-app
|
|
|
default:
|
|
|
volumes:
|
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro #allows traefic to listen to dockers
|
|
|
- ./volumes/config:/config/
|
|
|
- ./certs/bender.us.es.crt:/iroko-app.crt
|
|
|
- ./certs/bender.us.es.key:/device.key
|
|
|
|
|
|
```
|
|
|
|
|
|
--providers.docker #añade como provider de la tag asignada docker. Todo otro contenedor que quiera ser asignado se realiza mediante la label "raefik.http.routers.my-container.middlewares=add-foo-prefix@file"
|
|
|
|
|
|
por ejemplo un docker mínimo web
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
node:
|
|
|
image: httpd:latest
|
|
|
labels:
|
|
|
- "traefik.http.routers.node.rule=Host(`apache`)" #aparece en la "ip/apache" por ejemplo: bender.us.es/apache
|
|
|
- "traefik.http.routers.node.entrypoints=websecure" //si se accede por http, redirige a https
|
|
|
- "traefik.http.routers.node.tls=true" //activa https
|
|
|
``` |
|
|
\ No newline at end of file |