byteNative
Cloud & DevOps

Docker

Reproduzierbare Umgebungen durch Containerisierung, von Dev bis Prod.

Was ist Docker?

Docker verpackt eine Anwendung samt all ihrer Abhängigkeiten in einen abgeschlossenen Container, der überall gleich läuft. Damit gehört die alte Ausrede, dass etwas nur auf dem eigenen Rechner funktioniert, endlich der Vergangenheit an. Von der lokalen Entwicklung bis zur Produktion bleibt die Umgebung identisch, was Deployments vorhersehbar und entspannt macht. Ein Container ist dabei leichter als eine virtuelle Maschine, startet in Sekunden und teilt sich den Kernel mit dem Host.

Mehr in der Dokumentation

Wofür wir es nutzen

Wir containerisieren so gut wie jeden Dienst, den wir bauen, damit lokal, im CI und in Produktion exakt dasselbe läuft. Mit Docker Compose holen wir dir ganze Setups aus Datenbank, Cache und App mit einem Befehl auf den Rechner, ohne dass du irgendwas von Hand installierst. Das macht Onboarding schnell und Deployments langweilig, im besten Sinne.

dockerfile
FROM node:22-slim AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:22-slim
WORKDIR /app
COPY --from=build /app/dist ./dist
COPY --from=build /app/node_modules ./node_modules
CMD ["node", "dist/main.js"]
schlankes node-image per multi-stage build

Gut zu wissen

Multi-Stage-Builds halten dein finales Image klein, weil Build-Werkzeuge im Zwischenschritt bleiben und nur das fertige Ergebnis im Laufzeit-Image landet. Das spart Speicher und verkleinert ganz nebenbei die Angriffsfläche.

00Cloud & DevOps

Weitere Werkzeuge, mit denen wir im selben Bereich arbeiten.

Welche Technologie passt zu dir?

Das musst du nicht entscheiden, das ist unser Job. Erzähl uns einfach von deinem Vorhaben.