Server-Software immer im Griff durch Docker

Server-Software immer im Griff durch Docker

Container statt virtuelle Maschinen: Docker macht Admins und Entwicklern das Leben leichter. Wie auch Dein Server von der Software profitiert.

Ein blauer Wal, der Container huckepack durch das Meer transportiert: Immer häufiger ist das Logo von Docker zu sehen. Dahinter verbirgt sich eine Open-Source-Softwareplattform für Entwickler und Systemadministratoren. Mit Hilfe der Technologie lassen sich Applikationen schnell und bequem über Systemgrenzen hinweg austauschen.

Docker verpackt die Programmcodes dafür in einen Container, inklusive der notwendigen Abhängigkeiten, etwa Laufzeit, Systemtools, Systembibliotheken und Einstellungen. Diese Container müssen anders als eine virtuelle Maschine (VM) kein komplettes Betriebssystem mitbringen. Sie setzen sich auf das Host-Betriebssystem auf und lassen sich ohne Anpassungsaufwand mit wenigen Klicks überall ausführen – ähnlich simpel wie eine Smartphone-App.

Die Vorteile von Docker

Früher mussten Admins oftmals mehrere virtuelle Maschinen ausführen – etwa dann, wenn Sie den Webserver vom Datenbankserver trennen wollten. Das hat die Systemressourcen belastet, CPU, Arbeitsspeicher und Speicherplatz gekostet. Denn eine virtuelle Maschine inklusive Betriebssystem ist schnell mehrere Gigabyte groß. Docker macht hier vieles einfacher.

Du startest Anwendungen ganz einfach in Containern, in virtuellen Umgebungen also, die aufeinander aufbauen und miteinander kommunizieren. Beispiele sind ein Apache-Server oder eine MySQL-Datenbank. Der Clou: Container enthalten nur die notwendigen Komponenten eines Betriebssystems, die zur Ausführung des Programms nötig sind. Sie beanspruchen somit nur einen Bruchteil der Systemressourcen. Als Admin sparst Du also Kapazität und Geld. Und verwaltest dank der Leichtigkeit der Container Workloads dynamischer.

Auch Entwickler sparen mit Docker Zeit und Nerven. Und davon profitierst Du als Admin. Denn das Verfahren ist inzwischen so beliebt, dass Du bei Docker eine große Anzahl angesagter Software für Server findest.

Behalte die Sicherheit im Auge

Virtuelle Maschinen haben eine Stärke: Sie machen es möglich, die virtuelle Umgebung vom Betriebssystem des Hosts und von anderen VMs zu trennen. Damit bietet die Technologie große Sicherheit – etwa für den Fall, dass eine Software infiziert ist.

Und Container? Einige Experten bemängeln, dass diese Technik weniger Schutz bietet, weil Anwendungen meistens auf einfachere Weise von anderen Containern und dem Host abgegrenzt sind. Deshalb solltest Du Dich vorab darüber informieren, wie sich die Technologie sicher nutzen lässt.

So nutzt Du Docker mit Deinem STRATO Server

Admins können Docker derzeit grundsätzlich auf STRATO Dedicated Servern Linux, in der ServerCloud und auf V-Servern Windows einsetzen. Auf V-Servern Linux sind nur bestimmte Betriebssysteme „Docker-ready”. Welche genau, zeigt Dir diese Übersicht. Und wie steht es mit Plesk? User, die auf ihrem Docker-ready Server Plesk einsetzen, können die Docker-Funktion in Plesk nutzen (ab der Version Plesk Onyx). Auf STRATO Managed Servern kommt die Technologie derzeit nicht zum Einsatz.

Wenn Du mit Docker durchstarten willst, dann folge diesem Link. Dort findest Du die passende Anleitung, um die Docker Engine auf Deinem Server zu installieren. Anschließend lohnt sich ein Blick ins Docker Hub. Dort findest Du tausende Container-Images von geprüften Entwicklern, die Du direkt testen kannst. Viel Spaß dabei!

Teilen

  1. Christian sagte am

    Das Problem mit Docker und dem Strato-Image für Ubuntu 20-04 besteht immer noch: Nur der initiale Start eines Docker-Containers nach dem Reboot des dedizierten Servers ist unter den freigegebenen Ports erreichbar. Weitere gestartete Container sind nicht mehr erreichbar. Ich habe einen sehr langen und frustigen Tag des Debuggens hinter mir, einen simplen nginx-Container ans Laufen zu bringen. Mit dem Debian-11 Image funktioniert es sofort. Bitte beheben oder zmindest darauf hinweisen, dass es mit Eurem Ubuntu-Image nicht klappt. Weil es sehr Strato-spezifisch ist, findet sich dazu auch so gut wie nichts bei Google.

    Antworten
    • Tobias Mayer sagte am

      Hallo Christian,

      ich verstehe, dass das Debugging einer solchen Einschränkung frustrierend sein kann. Bitte schicke die relevanten Informationen an unsere Kundenservice, damit diese ein Ticket für Dich öffnen können. Du findest die Kontaktwege auf strato.de/faq.

      Beste Grüße

      Tobias

      Antworten
  2. Peter Töws sagte am

    Docker Containerisierung ist bei Strato zumindestens begrenzt einsetzbar. Container lassen sich nicht via Docker Swarm unter Debian 10 starten. Mit docker-compose funktioniert es allerdings. Wundert mich ein wenig, da es hier als „Docker-ready“ deklariert wird.

    https://www.strato.de/faq/server/welche-server-und-betriebssysteme-sind-docker-ready/

    Antworten
    • Tobias Mayer sagte am

      Hallo Peter,

      der verlinkte FAQ-Artikel erklärt weiter unten, was ein Server erfüllen muss, um von uns als „Docker ready” eingestuft zu werden. Ein Docker Swarm besteht aus mehreren vernetzten Servern und hat daher zusätzliche Anforderungen.

      Falls Du dedizierte Server nutzt, funktioniert Swarm unter Umständen trotzdem, eventuell hilft Dir dabei href=“https://www.strato.de/faq/server/so-konfigurieren-sie-das-pronet-vlan/“>ProNet VLAN.

      Beste Grüße

      Tobias

      Antworten
  3. Dominik sagte am

    Ich habe das selbe Problem wie Alexander Killert. Auf dedizierter linux server ubuntu 20.04 (strato image ohne plesk).
    Container gestartet: Läuft und ist von extern erreichbar. Docker-Container gestoppt und wieder gestartet -> Container nicht erreichbar.
    Ich habe 2 Tage damit verbracht das zu debuggen – keine Lösung gefunden.
    Es ist definitiv kein Firewall problem (ufw/iptables). Aus irgendeinem Grund erhalten die Docker bridge network interfaces nur 1x pro docker restart eine IP. Nachdem sie 1x gestoppt wurden haben sie keine IP und docker trägt auch nichts in die routing table ein um die container zu erreichen. Man kann also die container auch nicht local erreichen. Das muss ein Problem mit dem Ubuntu image sein. Local bei mir in einer vm ubuntu 20.04 klappt das exakt gleiche setup.

    Antworten
    • Tobias Mayer sagte am

      Hallo Dominik,

      danke für Deine Rückmeldung. Da es in Deinem Fall scheinbar nicht an der Firewall oder an Ubuntu liegt, wende Dich bitte an unseren Kundenservice, damit die Kolleginnen und Kollegen ein Ticket öffnen können. Du findest die Kontaktwege unter strato.de/faq

      Beste Grüße

      Tobias

      Antworten
  4. Alexander Killert sagte am

    Warum funktioniert Docker unter Ubuntu 20.04 auf euren Root Servern (zwei getestet, selbes Verhalten) nicht?
    Docker-Container (beliebig) gestartet: Läuft und ist von extern erreichbar. Docker-Container gestoppt und wieder gestartet -> Service von extern nicht erreichbar, der Port ist allerdings offen.
    Workarround: systemctl restart docker.service –> Nicht praktikabel bei mehreren Containern mit Abhängikeiten und sicher auch nicht so vom Hersteller gedacht.
    Lösung: Downgrade der Root Server auf Ubuntu 18.04, denn dort laufen sämtliche Docker-Container wie sie sollen.

    Antworten
    • Tobias Mayer sagte am

      Hallo Alexander,

      ich habe dazu mit unserer Qualitätssicherung gesprochen. Wir nehmen gegenüber der Urversion sehr wenige Anpassungen an dem Betriebssystem-Image vor. Es ist daher unwahrscheinlich, dass dieses Verhalten nur bei STRATO auftritt. Setzt Du eine Firewall wie iptables oder ufw ein? Es wäre möglich, dass diese Firewall Docker in die Quere kommt.

      Beste Grüße

      Tobias

      Antworten
  5. AP sagte am

    Ich hätte mir mehr Informationen über die Einschränkungen gewünscht. Wenn die Virtualbox Umgebung Zuhause mit identischen Größen an Speicherplatz (300GB) und Arbeitsspeicher (16GB) und gleichem Betriebssystem (Ubuntu 18.04) ohne besondere Konfigurationen problemlos ein Microsoft SQL Server 2019 Docker Image laufen lassen kann, ist es sehr ärgerlich, wenn es nun auf einem VServer (Linux V30) nicht der Fall ist. Natürlich müssen Sie nicht jedes Docker Image im Hub kennen, aber ein Hinweis, was wegen Virtuozzo nicht funktioniert oder wo drauf zu achten ist, wäre schon hilfreich.

    Antworten
    • Tobias Mayer sagte am

      Hallo,

      unsere V-Server Linux mit Ubuntu 18.04 sind Docker-ready. Wenn ein Image bei Ihnen nicht korrekt funktioniert, wäre meine erste Vermutung, dass ein Fehler im Image selbst vorliegt oder die Leistung des Servers nicht ausreicht. Sie erwähnen in Ihrem Kommentar RAM, aber nicht CPU. Haben Sie geprüft, ob die Prozessoren komplett komplett ausgelastet sind?

      Falls es daran nicht liegt, könnte es auch Fehler in unserer Plattform sein. In diesem Fall kann Ihnen unser Kundendienst am besten weiterhelfen. Sie erreichen ihn über unser Kontaktformular, telefonisch unter 030 300 146 0 sowie über Facebook oder Twitter.

      Beste Grüße

      Tobias Mayer

      Antworten

Sie können erst kommentieren, wenn Sie unseren Datenschutzbestimmungen und den Cookies zugestimmt haben. Aus Datenschutzrechtlichen Gründen dürfen wir andernfalls keine personenbezogenen Daten von Ihnen aufzeichnen.

Klicken Sie dazu einfach unten im Browser Fenster auf den blauen Button Akzeptieren. Nach dem Neuladen der Seite können Sie Ihr Kommentar schreiben.

 

Diese Webseite verwendet Cookies, um die Nutzung der Seite zu verbessern, den Erfolg von Werbemaßnahmen zu messen und interessengerechte Werbung anzuzeigen. Durch die Nutzung dieser Seite erklären Sie sich damit einverstanden. Informationen