Online zetten: Traefik op de server
Hier bouw je op verder: Bestanden kopiëren met scp
Weet je dit niet meer zeker? Lees het terug voordat je verdergaat.
Docker draait op de server, en je project staat er. Nu komt de voordeur erbij, dezelfde als in WSL. Daarna antwoordt je server op internet, nog zonder site erachter.
De voordeur kopiëren
De map ~/traefik uit les 22 hoort niet bij je project, dus hij staat niet op GitHub. Kopieer hem met scp, in WSL:
scp -r ~/traefik sam@203.0.113.10:
scp -r kopieert de hele map over ssh. De : zonder pad erachter betekent: naar de thuismap van sam.
Traefik starten
Op de server maak je eerst het netwerk web, net als in WSL, en start je daarna Traefik:
docker network create web
cd ~/traefik
docker compose up -d
Je hebt nog geen domeinnaam nodig om te kijken of hij antwoordt. Open in de browser op je laptop het IP-adres van je server: http://203.0.113.10.
Docker en de firewall
In les 28 hield ufw elke poort tegen die niet in de lijst staat. Voor Docker geldt dat niet. Een poort die je publiceert met ports in compose.yaml of -p, zet Docker zelf open, in de firewall van Linux, vóór de regels van ufw. Een gepubliceerde poort staat dus op internet, wat ufw ook zegt.
Daarom publiceert op je server alleen Traefik iets: poort 80, en straks 443. Die stonden al open in ufw. Je site krijgt in de volgende stap geen ports, net als in WSL. Wil je ooit iets publiceren dat alleen voor jou is, zet er dan 127.0.0.1: voor, zoals in les 21. Dan luistert Docker alleen op de server zelf.
Er gaat iets mis
De browser krijgt geen antwoord
Oorzaak: Traefik draait niet, of poort 80 staat niet open in ufw.
Oplossing: kijk op de server met docker ps of traefik-traefik-1 erbij staat, en lees anders het logboek met docker compose logs in ~/traefik. Kijk met sudo ufw status of 80/tcp er staat, zoals in les 28.
network web declared as external, but could not be found
Oorzaak: het netwerk web bestaat op de server nog niet. Het netwerk uit WSL gaat niet mee met scp: het is van de Docker op je laptop.
Oplossing: docker network create web, en daarna opnieuw docker compose up -d in ~/traefik.
No such file or directory bij cd ~/traefik
Oorzaak: scp zette de map ergens anders neer. Zonder de : aan het eind van het adres maakt scp op je laptop een kopie met de naam sam@203.0.113.10.
Oplossing: kijk in WSL met ls of die map er staat, en gooi hem weg met rm -r sam@203.0.113.10. Typ het commando opnieuw, met de : erachter.
Door naar les 33: je site op je domein.