Docker

Docker packt ein Programm mit allem, was es braucht, in ein geschlossenes Paket, damit es auf dem Laptop genauso läuft wie auf dem Live-Server.

Auch bekannt als Container Containerisierung Container-Plattform

Definition

Docker verpackt ein Programm zusammen mit allem, was es zum Laufen braucht. Der Code, die Einstellungen und die kleinen Werkzeuge darunter wandern dabei in ein geschlossenes Paket, das Container heißt. Dieses Paket wird einmal gebaut und verhält sich danach auf dem Laptop des Entwicklers genauso wie auf dem Testserver und auf dem Live-Server.

Vor den Containern war „bei mir läuft es“ der teuerste Satz der Branche. Ein Programm lief bei dem, der es geschrieben hatte, und ging auf dem Server kaputt, weil ein kleines Teil darunter eine andere Version hatte. Der Container beendet die Diskussion, weil er seine eigenen Kopien mitbringt und auf dem Server nichts übrig bleibt, das widersprechen könnte.

Ein Container ist kein kleiner Computer, denn er leiht sich das Betriebssystem der Maschine, auf der er sitzt. Deshalb startet er in etwa einer Sekunde, während eine vollständige virtuelle Maschine eine Minute braucht. Ein gewöhnlicher Server trägt so viele Container nebeneinander, jeder vom anderen abgeschottet. Diese Wand lohnt sich, denn wird ein Teil des Systems geknackt, bekommt der Eindringling die anderen nicht gratis dazu.

Zwei Dinge überraschen fast jeden, und das erste ist, dass ein Container vergisst. Beim Neustart kommt er genau so zurück, wie er gebaut wurde, und alles, was innen geschrieben wurde, etwa hochgeladene Rechnungen oder Kundenfotos, ist weg. Dateien und Datenbanken müssen deshalb bewusst außerhalb des Containers liegen. Das zweite ist das Alter, denn jeder Container baut auf einem Basis-Image auf, das jemand anderes geschrieben hat, und ein vor einem Jahr geladenes Image trägt jede Lücke, die seitdem gefunden wurde. Ein Neubau auf frischer Basis ist normale Arbeit an der Sicherheit und kein Zusatz. Linkysoft baut diese Basis-Images deshalb für betreute Systeme nach festem Plan neu, weil sich das von Hand niemand merkt.

Der eigentliche Gewinn ist Bewegungsfreiheit, weil der Container seine eigene Welt mitbringt und der Wechsel des Hosters damit zu einer Entscheidung statt zu einem Projekt wird. Linkysoft baut jede Webanwendung so, damit die getestete Fassung genau die ist, die live geht, und kein Nachbau. Ein Kunde kann deshalb auf einem kleinen Server bei Hostrena starten und später auf einen größeren wechseln, ohne den Code anzufassen. Stellen Sie jedem Anbieter vor der Unterschrift eine Frage: Wenn der Container weggeworfen und ersetzt wird, wo liegen dann unsere Daten? Bleibt die Antwort vage, ist das die Antwort.

Fragen zu Docker

Ist Docker dasselbe wie eine virtuelle Maschine?
Nein. Eine virtuelle Maschine bringt ein eigenes Betriebssystem mit und braucht rund eine Minute zum Start. Ein Container leiht sich das System darunter und startet in einer Sekunde, deshalb passen viele auf einen Server.
Verliere ich meine Daten, wenn ein Container neu startet?
Alles, was innen gespeichert wurde, ist weg, denn er kommt genau so zurück, wie er gebaut wurde. Dateien, Uploads und Datenbanken gehören außerhalb des Containers, und das muss jemand bewusst einrichten.
Macht Docker mein System sicherer?
Teilweise. Jeder Container ist abgeschottet, ein Einbruch bleibt meist an einer Stelle. Aber ein Container auf einem alten Basis-Image trägt alte Lücken, er muss also regelmäßig auf frischer Basis neu gebaut werden.
Braucht ein kleines Unternehmen Docker?
Sie kaufen Docker nicht, es benutzen die Leute, die Ihr System bauen. Für Sie zählt zweierlei. Veröffentlichungen werden wiederholbar, und Sie können später den Hoster wechseln, ohne eine Neuentwicklung zu bezahlen.

Immer noch unsicher, was das für Ihr Projekt bedeutet?

Sagen Sie uns, was Sie bauen, und wir antworten in klarer Sprache.