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:
Bild-Quelle: pointful.github.io/docker-intro/
Tutorial
Ein kleines Tutorial zum Umgang mit Docker ist hier zu finden:
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:
Weitere Informationen und Beispiele zu den Containern von PHP im Repository wird hier bereitgestellt: