Tipps & Tutorials

Docker-Unterstützung bei JiffyBox


Veröffentlicht am 20.02.2018 von Anna Philipp

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: 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 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

Kommentare

Dateien hier ablegen
  • Dirk

    Dirk

    am 19.11.2018

    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]: [...] 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

      am 20.11.2018

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

    • Boris

      Boris

      am 26.12.2018

      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 [...] 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.

    Dateien hier ablegen
  • Alberto

    Alberto

    am 26.11.2017

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

    Dateien hier ablegen
  • Tobi

    Tobi

    am 01.03.2017

    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 [...] 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

      am 02.03.2017

      Hi Tobi,

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

      Viele Grüße
      Anna Hi Tobi,

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

      Viele Grüße
      Anna

    • Markus

      Markus

      am 12.04.2017

      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 [...] 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

      am 28.07.2018

      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,

       [...] 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

      am 12.11.2018

      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 [...] 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"

    Dateien hier ablegen
  • Marcus

    Marcus

    am 06.08.2016

    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!

     [...] 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

      am 07.08.2016

      Danke für den zusätzlichen Hinweis! Danke für den zusätzlichen Hinweis!

    Dateien hier ablegen
  • Marco

    Marco

    am 08.10.2014

    Kann Docker auch auf einem Managed Server installiert werden? Kann Docker auch auf einem Managed Server installiert werden?

    • Anna

      Anna

      am 18.05.2015

      Nein, das geht nur auf den JiffyBoxen. Nein, das geht nur auf den JiffyBoxen.

    Dateien hier ablegen
  • Stefan

    Stefan

    am 27.09.2014

    1a :) Zeit wurd's :-D 1a :) Zeit wurd's :-D

    Dateien hier ablegen