Docker-Unterstützung bei JiffyBox

Mit der neuen Technologie, Anwendungen samt deren Abhängigkeiten in virtuelle Container zu packen, erfreut sich die Open-Source-Software Docker immer größerer Beliebtheit.
Bei JiffyBox ist die Nutzung von Docker problemlos möglich.

Was ist Docker?

Docker ermöglicht seinen Nutzern – System-Administratoren und Entwicklern – die Isolation von Anwendungen mitsamt deren Abhängigkeiten in einzelne Container ohne die Notwendigkeit einer Virtualisierung.
Die Container können als einzelne Komponenten verschiedener Arbeitsschritte einfach zusammengesetzt werden, dabei spielt es keine Rolle, welche Sprache und welche Werkzeuge für die Entwicklung verwendet wurden.

Die Container sind portabel und überall lauffähig – egal ob die Entwickler Windows-Laptops, OS X, oder andere Systeme einsetzen.
Die Ausrede „in meinem System läuft es aber nicht“ ist damit aus der Welt geschafft. 😉

So wird von Docker das Problem der „Matrix from Hell“ – einer Darstellung verschiedenster Anwendungen in verschiedensten Umgebungen – gelöst:

Docker: Matrix from Hell, gelöst durch Container

Bild-Quelle: http://pointful.github.io/docker-intro/

Tutorial

Ein kleines Tutorial zum Umgang mit Docker ist hier zu finden:

Tutorial

Bei dem Tutorial wird die Suche nach Images, die Installation von Dienstprogrammen, etc. erläutert. Zudem wird das Image in die Docker Hub Registry geladen, damit andere Entwickler es finden und nutzen könnten.

Installation

Die Installation ist abhängig vom Betriebssystem. Anleitungen dazu werden hier bereitgestellt:

docs.docker.com/installation – Alle Installationsanleitungen
https://docs.docker.com/installation/ubuntulinux/ – Installationsanleitung auf Ubuntu
https://docs.docker.com/engine/installation/linux/centos/ – Installationsanleitung auf CentOS

Installationsbeispiel:

Container mit Apache und PHP auf Ubuntu

In dem folgenden Beispiel beschreiben wir die Installation auf einem frisch angelegtem Ubuntu 14.04 LTS 64-Bit mit einem Container, in dem ein Apache-Webserver mit PHP 5.6 läuft.

Wir möchten deutlich darauf hinweisen, dass es sich hierbei um ein Installations-Beispiel für den Einstieg handelt. Docker ist auf den JiffyBoxen lauffähig, kann aber nicht von uns supportet werden!

Zunächst wird der APT Paketcache aktualisiert:

sudo apt-get update

Dann installieren wir die neueste Version:

sudo apt-get install apt-transport-https
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys
sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
sudo apt-get update
sudo apt-get install lxc-docker

Anschließend testen wir, ob die Installation erfolgreich war:

sudo docker run -i -t ubuntu /bin/bash

War der Test erfolgreich, sind Sie nun im Container eingeloggt.
Loggen Sie sich mit „exit“ wieder aus.

Nun wird ein Verzeichnis „myapplication“ auf dem Server erstellt. In dieses legen wir eine phpinfo-Datei „index.php“.

mkdir /myapplication ; echo "<?PHP phpinfo();?>" > /myapplication/index.php

Port 80 des Serves muss auf Port 80 des Containers gemappt werden. Zudem wird ein Container basierend auf dem PHP offical language stack („php:5.6-apache“) von der Registry heruntergeladen und gestartet und das Verzeichnis „myapplication“ auf dem Server wird auf /var/www/html im Container gemappt:

docker run -d -p 80:80 --name my-apache-php-app -v "/myapplication":/var/www/html php:5.6-apache

Nun kann die phpinfo-Datei über den Apache in dem Container aufgerufen werden.

Hier noch einige nützliche Befehle:

Laufende Container anzeigen: docker ps

Detailinfos anzeigen: docker inspect my-apache-php-app

Container stoppen: docker stop my-apache-php-app

Container löschen: docker remove my-apache-php-app

Informationen zu den „official language stacks“ sind im Blog von Docker zu finden:
Official Language Stacks

Weitere Informationen und Beispiele zu den Containern von PHP im Repository wird hier bereitgestellt:
Informationen und Beispiele

End of article

Anna Philipp

Über den Autor

Anna Philipp

15 Kommentare

Bitte füllen Sie das Captcha aus : *

Reload Image

Die von Ihnen hier erhobenen Daten werden von der domainfactory GmbH zur Veröffentlichung Ihres Beitrags in diesem Blog verarbeitet. Weitere Informationen entnehmen Sie bitte folgendem Link: www.df.eu/datenschutz


  • Stefan
    Stefan - 27. September 2014 um 12:10 Uhr

    1a 🙂 Zeit wurd’s 😀

  • Marco
    Marco - 8. Oktober 2014 um 11:05 Uhr

    Kann Docker auch auf einem Managed Server installiert werden?

    • Anna
      Anna - 18. Mai 2015 um 12:42 Uhr

      Nein, das geht nur auf den JiffyBoxen.

  • Marcus
    Marcus - 6. August 2016 um 10:52 Uhr

    hi

    bei dem Befehl „sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys“ musste ich dahinter noch den langen hexadezimalen Key angeben. Ansonsten hat alles geklappt. Danke!

    Gruß
    Marcus
    (neu erstellte Jiffybox mit Ubuntu 14.04)

    • Nils Dornblut
      Nils Dornblut - 7. August 2016 um 08:07 Uhr

      Danke für den zusätzlichen Hinweis!

  • Tobi
    Tobi - 1. März 2017 um 17:30 Uhr

    Die Einrichtung von Docker auf Ubuntu 16.04 scheint nicht zu funktionieren, da der Storagedriver (devicemapper) nicht initialisiert werden kann.

    Welcher storagedriver wird denn mit eurem Setup aktuell unterstützt?
    Oder habt ihr eine aktualisierte Anleitung zum Einrichten von docker in 2017?

    – Storage Drivers:
    – „aufs“:
    – CONFIG_AUFS_FS: missing
    – „btrfs“:
    – CONFIG_BTRFS_FS: enabled
    – CONFIG_BTRFS_FS_POSIX_ACL: enabled
    – „devicemapper“:
    – CONFIG_BLK_DEV_DM: enabled
    – CONFIG_DM_THIN_PROVISIONING: enabled
    – „overlay“:
    – CONFIG_OVERLAY_FS: missing
    – „zfs“:
    – /dev/zfs: missing
    – zfs command: missing
    – zpool command: missing

    • Anna
      Anna - 2. März 2017 um 16:43 Uhr

      Hi Tobi,

      wenn Sie das Paket zfs-fuse installieren, sollte der Fehler verschwinden.

      Viele Grüße
      Anna

      • Markus
        Markus - 12. April 2017 um 17:54 Uhr

        Dem würde ich gerne wiedersprechen. ZFS per FUSE war relevant als es noch keine native ZFS-Umsetzung für Linux bzw. Ubuntu gab, das ist aber spätestens seit 16.04 enthalten.

        Das native ZFS befindet sich unter:
        zfsutils-linux
        ist deutlich performanter und für den Produktiveinsatz empfohlen-

        Das letzte ZFS-Fuse Paket ist von 2012 und wird auch nicht mehr weiterentwickelt.

        Für Ubuntu vor 16.04 ist die Information oben aber richtig.

      • David
        David - 28. Juli 2018 um 18:09 Uhr

        Hi,

        leider gab es keine Antwort zu Markus Kommetar. Kann man nun Docker sauber auf Ubuntu 16.04 installieren?

        Diese Kombi wäre für mich echt eine Überlegung wert 😉

        Danke schon mal

        LG,

        David

      • Oliver
        Oliver - 12. November 2018 um 23:44 Uhr

        Mich würde auch interessieren ob man Docker bei eurem Ubuntu installieren kann? Ich bekomme immer den Fehler, dass ein gewisses Module nicht gefunden wird „Module overlay not found in directory /lib/modules/4.4.110-x86_64-jb1“

  • Alberto
    Alberto - 26. November 2017 um 14:25 Uhr

    Der Link zur Installationsanleitung auf CentOS führt ins leere…

  • Dirk
    Dirk - 19. November 2018 um 20:38 Uhr

    Leider lässt sich auf Debian Stretch Docker 18.09 nicht installieren.

    — Unit containerd.service has begun starting up.
    Nov 19 20:16:33 j326935.servers.jiffybox.net modprobe[12089]: modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file ‚/lib/modules/4.4.110-x86_64-jb1/modules.dep.bin‘
    Nov 19 20:16:33 j326935.servers.jiffybox.net modprobe[12089]: modprobe: FATAL: Module overlay not found in directory /lib/modules/4.4.110-x86_64-jb1
    Nov 19 20:16:33 j326935.servers.jiffybox.net systemd[1]: containerd.service: Control process exited, code=exited status=1
    Nov 19 20:16:33 j326935.servers.jiffybox.net systemd[1]: Failed to start containerd container runtime.
    — Subject: Unit containerd.service has failed

    Ich habe darüber ziemlich viel Zeit verloren. :/ Nicht der beste Eindruck von Jiffybox.
    Als Notlösung verwende ich jetzt die Version 18.06: `apt-get install docker-ce=18.06.1~ce~3-0~debian`

    • Jan
      Jan - 20. November 2018 um 22:46 Uhr

      Bei mir das gleiche Problem. Danke für den Tipp! Das ersparte mir das zurückspielen des Backups.

      • Boris
        Boris - 26. Dezember 2018 um 15:19 Uhr

        Habe gerade eine ganz frische JiffyBox eingerichtet mit Ubuntu 16.04.5 LTS. Docker (gleich als erstes) ließ sich nicht installieren, bzw. der Daemon startet nicht:

        xxxxxx@jXXXXXX:/usr/bin$ sudo systemctl status containerd.service
        ● containerd.service – containerd container runtime
        Loaded: loaded (/lib/systemd/system/containerd.service; enabled; vendor preset: enabled)
        Active: failed (Result: exit-code) since Mi 2018-12-26 14:02:30 UTC; 59s ago
        Docs: https://containerd.io
        Process: 8182 ExecStartPre=/sbin/modprobe overlay (code=exited, status=1/FAILURE)

        Dez 26 14:02:30 jXXXXXX.servers.jiffybox.net systemd[1]: Starting containerd container runtime…
        Dez 26 14:02:30 jXXXXXX.servers.jiffybox.net modprobe[8182]: modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file ‚/lib/modules/4.4.110-x86_64-jb1/modules.dep.bin‘
        Dez 26 14:02:30 jXXXXXX.servers.jiffybox.net modprobe[8182]: modprobe: FATAL: Module overlay not found in directory /lib/modules/4.4.110-x86_64-jb1
        Dez 26 14:02:30 jXXXXXX.servers.jiffybox.net systemd[1]: containerd.service: Control process exited, code=exited status=1
        Dez 26 14:02:30 jXXXXXX.servers.jiffybox.net systemd[1]: Failed to start containerd container runtime.

        Mit der Notlösung von Dirk („sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu“) ging’s jetzt erst einmal, danke!!

        Das zu Grunde liegende Problem muss aber behoben werden. Kein allzu guter Eindruck von der Box.