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

Der Autor: