From cb8a6f0442bd6b00c34bf3b20a814a21e277e21c Mon Sep 17 00:00:00 2001 From: mmatur Date: Mon, 13 Jan 2025 09:42:51 +0100 Subject: [PATCH] Update traefik readme --- traefik/content.md | 106 +++++++++++++++++++++++---------------------- 1 file changed, 55 insertions(+), 51 deletions(-) diff --git a/traefik/content.md b/traefik/content.md index e51dfd914812..5e7b25dae0c6 100644 --- a/traefik/content.md +++ b/traefik/content.md @@ -1,14 +1,14 @@ %%LOGO%% -[Traefik](https://traefik.io) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy. +[Traefik](https://traefik.io) is a modern HTTP reverse proxy and ingress controller that makes deploying microservices easy. -Traefik integrates with your existing infrastructure components ([Docker](https://www.docker.com/), [Swarm mode](https://docs.docker.com/engine/swarm/), [Kubernetes](https://kubernetes.io), [Marathon](https://mesosphere.github.io/marathon/), [Consul](https://www.consul.io/), [Etcd](https://coreos.com/etcd/), [Rancher](https://rancher.com), [Amazon ECS](https://aws.amazon.com/ecs), ...) and configures itself automatically and dynamically. +Traefik integrates with your existing infrastructure components ([Kubernetes](https://kubernetes.io), [Docker](https://www.docker.com/), [Swarm](https://docs.docker.com/engine/swarm/), [Consul](https://www.consul.io/), [Nomad](https://www.nomadproject.io/), [etcd](https://coreos.com/etcd/), [Amazon ECS](https://aws.amazon.com/ecs), ...) and configures itself automatically and dynamically. Pointing Traefik at your orchestrator should be the *only* configuration step you need. -# Traefik v2 - Example usage +## Traefik v3 - Example usage -Enable `docker` provider and web UI: +Enable `docker` provider and dashboard UI: ```yml ## traefik.yml @@ -23,108 +23,112 @@ api: insecure: true ``` -Start Traefik: +Start Traefik v3: -```bash +```sh docker run -d -p 8080:8080 -p 80:80 \ --v $PWD/traefik.yml:/etc/traefik/traefik.yml \ --v /var/run/docker.sock:/var/run/docker.sock \ -traefik:v2.5 + -v $PWD/traefik.yml:/etc/traefik/traefik.yml \ + -v /var/run/docker.sock:/var/run/docker.sock \ + traefik:v3 ``` -Start a backend server, named `test`: +Start a backend server using the `traefik/whoami` image: -```bash +```sh docker run -d --name test traefik/whoami ``` -And finally, you can access to your `whoami` server throught Traefik, on the domain name `test.docker.localhost`: +Access the whoami service through Traefik via the defined rule `test.docker.localhost`: ```console -# $ curl --header 'Host:test.docker.localhost' 'http://localhost:80/' $ curl test.docker.localhost -Hostname: 390a880bdfab +Hostname: 0693100b16de IP: 127.0.0.1 -IP: 172.17.0.3 +IP: ::1 +IP: 192.168.215.4 +RemoteAddr: 192.168.215.3:57618 GET / HTTP/1.1 Host: test.docker.localhost -User-Agent: curl/7.65.3 +User-Agent: curl/8.7.1 Accept: */* Accept-Encoding: gzip -X-Forwarded-For: 172.17.0.1 +X-Forwarded-For: 192.168.215.1 X-Forwarded-Host: test.docker.localhost X-Forwarded-Port: 80 X-Forwarded-Proto: http -X-Forwarded-Server: 7e073cb54211 -X-Real-Ip: 172.17.0.1 +X-Forwarded-Server: 8a37fd4f35fb +X-Real-Ip: 192.168.215.1 ``` -The web UI [http://localhost:8080](http://localhost:8080) will give you an overview of the routers, services, and middlewares. +Access the Traefik Dashboard: -![Web UI](https://raw.githubusercontent.com/traefik/traefik/v2.5/docs/content/assets/img/webui-dashboard.png) +Open your web browser and navigate to `http://localhost:8080` to access the Traefik dashboard. This will provide an overview of routers, services, and middlewares. -# Traefik v1 - Example usage +![Dashboard UI](https://raw.githubusercontent.com/traefik/traefik/v3.2/docs/content/assets/img/webui-dashboard.png) -Grab a [sample configuration file](https://raw.githubusercontent.com/traefik/traefik/v1.7/traefik.sample.toml) and rename it to `traefik.toml`. Enable `docker` provider and web UI: +## Traefik v2 - Example usage -```toml -## traefik.toml +Enable `docker` provider and dashboard UI: -# API and dashboard configuration -[api] +```yml +## traefik.yml # Docker configuration backend -[docker] - domain = "docker.localhost" +providers: + docker: + defaultRule: "Host(`{{ trimPrefix `/` .Name }}.docker.localhost`)" + +# API and dashboard configuration +api: + insecure: true ``` -Start Traefik: +Start Traefik v2: -```bash +```sh docker run -d -p 8080:8080 -p 80:80 \ --v $PWD/traefik.toml:/etc/traefik/traefik.toml \ +-v $PWD/traefik.yml:/etc/traefik/traefik.yml \ -v /var/run/docker.sock:/var/run/docker.sock \ -traefik:v1.7 +traefik:v2.11 ``` -Start a backend server, named `test`: +Start a backend server using the `traefik/whoami` image: -```bash +```sh docker run -d --name test traefik/whoami ``` -And finally, you can access to your `whoami` server throught Traefik, on the domain name `{containerName}.{configuredDomain}` (`test.docker.localhost`): +Access the whoami service through Traefik via the defined rule `test.docker.localhost`: ```console -# $ curl --header 'Host:test.docker.localhost' 'http://localhost:80/' -$ curl 'http://test.docker.localhost' -Hostname: 117c5530934d +$ curl test.docker.localhost +Hostname: 390a880bdfab IP: 127.0.0.1 -IP: ::1 IP: 172.17.0.3 -IP: fe80::42:acff:fe11:3 GET / HTTP/1.1 Host: test.docker.localhost -User-Agent: curl/7.35.0 +User-Agent: curl/7.65.3 Accept: */* Accept-Encoding: gzip X-Forwarded-For: 172.17.0.1 -X-Forwarded-Host: 172.17.0.3:80 +X-Forwarded-Host: test.docker.localhost +X-Forwarded-Port: 80 X-Forwarded-Proto: http -X-Forwarded-Server: f2e05c433120 +X-Forwarded-Server: 7e073cb54211 +X-Real-Ip: 172.17.0.1 ``` -The web UI [http://localhost:8080](http://localhost:8080) will give you an overview of the frontends/backends and also a health dashboard. +Access the Traefik Dashboard: + +Open your web browser and navigate to `http://localhost:8080` to access the Traefik dashboard. This will provide an overview of routers, services, and middlewares. -![Web UI Providers](https://raw.githubusercontent.com/traefik/traefik/v1.7/docs/img/web.frontend.png) +![Dashboard UI](https://raw.githubusercontent.com/traefik/traefik/v2.0/docs/content/assets/img/webui-dashboard.png) -# Documentation +## Documentation You can find the complete documentation: -- for [v2.x](https://doc.traefik.io/traefik/) -- for [v1.7](https://doc.traefik.io/traefik/v1.7) +- for [v3.x](https://doc.traefik.io/traefik/) +- for [v2.11](https://doc.traefik.io/traefik/v2.11) A community support is available at [https://community.traefik.io](https://community.traefik.io) - -A collection of contributions around Traefik can be found at [https://awesome.traefik.io](https://awesome.traefik.io).