Docker-Container kostenlos hosten
Ein öffentliches Docker-Image kostenlos mit HTTPS und ohne Kreditkarte online stellen. Getestete Schritte für blitz.cloud, Anforderungen und Tarifumfang.
Auf blitz.cloud kannst du einen Docker-Container kostenlos hosten: Konto ohne Kreditkarte anlegen, auf "Host something new" klicken, Docker Hub nach dem Image durchsuchen, Version und Namen wählen, und er läuft unter einer HTTPS-Adresse wie whoami.deinname.blitz.cloud. Der kostenlose Tarif läuft nicht ab, und Apps schlafen nicht ein. Der Haken: Das Image muss öffentlich auf Docker Hub liegen, für amd64 gebaut sein und ohne Root laufen können.
Was du brauchst
- Ein blitz.cloud-Konto. Registriere dich auf beta.blitz.cloud mit E-Mail, GitHub oder Google und bestätige deine E-Mail-Adresse. Solange sie nicht bestätigt ist, kannst du keine Apps anlegen.
- Ein öffentliches Image auf Docker Hub. Andere Registries wie ghcr.io lassen sich im Dashboard noch nicht auswählen, und private Images bräuchten ein Login, das blitz.cloud nicht hat.
Läuft mein Image?
Die meisten gescheiterten ersten Versuche liegen an drei Dingen. Alle drei kannst du in einer Minute auf deinem eigenen Rechner prüfen.
- Architektur. blitz.cloud läuft auf amd64-Servern. Images, die auf einem Mac mit Apple Silicon mit einem einfachen
docker buildgebaut wurden, sind nur arm64 und starten nicht. Baue mit--platform linux/amd64. - Kein Root. Jede App läuft als Benutzer und Gruppe 1000 ohne Linux-Capabilities. Ein Image, das auf Root besteht oder beim Start Dateibesitzer ändern will, bricht ab.
- Ein angegebener Port. Lausche auf etwas wie 8080 und gib den Port mit
EXPOSE 8080im Dockerfile an, damit blitz.cloud ihn erkennt, ohne dass du ihn eintippst.
Dieser Befehl startet ein Image ungefähr so, wie blitz.cloud es tut:
docker run --rm --platform linux/amd64 --user 1000:1000 --cap-drop ALL \
--security-opt no-new-privileges -p 8080:8080 yourname/your-image:1.0.0
Wenn curl http://localhost:8080 antwortet, bist du auf einem guten Weg.
Container ausrollen
- Melde dich auf beta.blitz.cloud an. Beim ersten Mal sicherst du dir deine Adresse, zum Beispiel
lena. Deine Apps liegen dann unterlena.blitz.cloud. - Klicke auf "Host something new" (Neues hosten) und wähle "An app that is already packaged up" (eine fertig verpackte App).
- Tippe den Image-Namen in "Which app?" ein und wähle ihn aus der Liste. Offizielle Images sind markiert. Ein Repository, das du vor ein paar Minuten hochgeladen hast, kann eine Weile brauchen, bis es in der Docker-Hub-Suche auftaucht.
- Wähle eine "Version". Tags wie
latestsind als "follows new releases" markiert, also mitlaufend mit neuen Versionen; ein fester Tag wie1.0.0ändert sich nie. Klicke auf "Continue". - Der nächste Bildschirm zeigt "What this app needs": den Port, über den die App erreichbar ist, ob sie eine Datenbank braucht und welche Ordner einen Neustart überstehen. blitz.cloud ermittelt das, indem es das Image ausliest. Stimmt der Port nicht, kannst du ihn unter "Advanced settings" ändern.
- Gib der App einen "Name" und eine Adresse und klicke auf "Put it online".
Du siehst, wie sie ihre Schritte durchläuft, und am Ende bekommst du einen Link wie https://whoami.lena.blitz.cloud. Das Zertifikat für deine Adresse wird automatisch ausgestellt; bis es bereit ist, kann ein Browser bei einem ganz neuen Konto kurz eine Zertifikatswarnung zeigen.
Wenn noch nichts bereit ist, sagt die App-Seite das in einem Satz und zeigt die letzten Zeilen, die der Container ausgegeben hat. App-Status und Logs erklärt jede Meldung.
Mit einem fertigen Beispiel ausprobieren
Das Repository blitz-cloud-examples enthält drei kleine Apps, die sich an die Regeln oben halten: eine Node.js-API, eine Astro-Seite hinter nginx und eine FastAPI-App. Bau eine davon, lade sie in dein Docker-Hub-Konto hoch und rolle sie mit den Schritten oben aus:
git clone https://github.com/blitzworks-io/blitz-cloud-examples.git
cd blitz-cloud-examples/python-api
docker build --platform linux/amd64 -t yourname/blitz-example-python-api:1.0.0 -t yourname/blitz-example-python-api:latest .
docker push --all-tags yourname/blitz-example-python-api
Was der kostenlose Tarif enthält
| Kostenloser Tarif | |
|---|---|
| Apps | Bis zu 15 |
| Arbeitsspeicher | 2 GB für alle Apps und Datenbanken zusammen |
| Speicherplatz | 10 GB |
| Datenbanken | 1 |
| HTTPS | Automatisch auf jeder Adresse |
| Schlafmodus bei Leerlauf | Nein |
| Kreditkarte | Nicht nötig |
Ein eingefügtes Image bekommt die kleine Größe: 128 MB Arbeitsspeicher reserviert und bis zu 512 MB, wenn es mehr braucht. Das reicht für die meisten APIs und kleinen Web-Apps. Eine JVM-App mit großem Heap oder alles, was mehrere GB RAM braucht, passt heute schlecht in den kostenlosen Tarif. Die vollständigen Regeln stehen unter Limits.
Wann blitz.cloud die falsche Wahl ist
Wenn du heute Server außerhalb Europas, GPUs, private Images, arm64 oder Deploys direkt per git push brauchst, nimm vorerst etwas anderes. Wenn du einen Container kostenlos in Deutschland online haben willst und es dich nicht stört, vorher auf Docker Hub hochzuladen, passt es gut.
Stell heute deine erste App online.
Kostenloser Tarif, keine Kreditkarte, keine Warteliste.
Kostenloses Konto anlegen