Überspringen zu Hauptinhalt

Was ist Docker?

Mit Docker können mehr Anwendungen auf derselben Hardware laufen; es macht es Entwicklern leicht, schnell fertige Containeranwendungen zu erstellen; und es macht die Verwaltung und Bereitstellung von Anwendungen viel einfacher. Außerdem wird die Realität ausnahmsweise einmal dem Hype gerecht. Docker Container sind einfach zu erstellen, zu verwalten erleichtern das Server-Management extrem.

Docker Installieren

Auf einem frischen Debian 9 System ist es einfach Docker zu installieren. Zu aller erst müssen benötigte Pakete wie CURL oder GIT installiert werden:

apt-get update
apt-get upgrade
apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common \
     git

Danach kann man ganz einfach mit Hilfe des Install-Skripts von Docker dasselbige installieren:

wget -qO- https://get.docker.com/ | sh

Mit docker -v könnt ihr danach prüfen, ob und mit welcher Version Docker installiert worden ist.

Docker Compose Installieren

Mit Docker Composer werden wir später unseren Container starten bzw. stoppen.

# Install docker-compose
COMPOSE_VERSION=`git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oP "[0-9]+\.[0-9][0-9]+\.[0-9]+$" | tail -n 1`
sh -c "curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
chmod +x /usr/local/bin/docker-compose
sh -c "curl -L https://raw.githubusercontent.com/docker/compose/${COMPOSE_VERSION}/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose"

Docker Cleanup-Skript

# Install docker-cleanup command
cd /tmp
git clone https://gist.github.com/76b450a0c986e576e98b.git
cd 76b450a0c986e576e98b
mv docker-cleanup /usr/local/bin/docker-cleanup
chmod +x /usr/local/bin/docker-cleanup

Ref: https://gist.github.com/wdullaer/f1af16bd7e970389bad3

Nginx + PHP Container erstellen

Um einen Docker-Container zu erstellen, der nginx + PHP ausführt müssen wir zuerst einen Ordner erstellen, wo unser Container physisch liegt:

mkdir /var/docker/nginx
cd /var/docker/nginx

In diesem Ordner legen wir einen Unterorder Code an – dort liegen unsere Skripte. Zum test erstelle ich eine index.html und index.php Datei:

mkdir code
cd code

nano index.html
> Hello From Docker

nano index.php
> <?php phpinfo()

Nun zurück in den Container Ordner. Hier müssen wir site.conf anlegen für die Konfiguration des Nginx Servers, damit PHP funktioniert.

nano site.conf

# Inhalt der Datei:
server {
    index index.php index.html;
    server_name php-docker.local;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /code;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

Jetzt können wir die docker-compose.yml Datei erstellen, die wir zum starten des Containers benötigen:

nano docker-compose.yml

# Inhalt der Datei:
web:
 image: nginx:latest
 ports:
 - "80:80"
 volumes:
 - ./code:/code
 - ./site.conf:/etc/nginx/conf.d/000_site.conf
 links:
 - php
php:
 image: php:7-fpm
 volumes:
 - ./code:/code

Wenn ihr dem Tutorial soweit gefolgt seid, sollte die Ordnerstruktur wie folgt aussehen:

Docker Nginx PHP StrukturMit einem simplen docker-compose up -d starten wir nun unseren Container. Zum Beenden des Containers einfach ein docker-compose down ausführen.

Jetzt können wir die IP bzw. in meinem Fall die subdomain aufrufen und sollten folgende Inhalt erhalten:

Docker PHP 7
Docker Nginx

Daniel Barenkamp

Founder and Creator of WeLaunch (formerly DB-Dzine).

Dieser Beitrag hat 0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

×Suche schließen
Suche