Einführung in Docker Teil 2: Hands-On

Nachdem Mathias im ersten Teil über die Grundlagen von docker berichtet hat, kommen wir nun zum praktischen Teil.

Hier zeige ich, wie man als Entwickler mit docker arbeiten kann und wie unsere ganz einfache Betriebsumgebung aussieht.

Inhalt:

  • Warum docker auch aus Entwicklersicht toll ist: Nachvollziehbarkeit
  • Unser erstes Dockerfile, bauen eines Containers
    FROM httpd:latest
  • docker build -t homepage .
  • Beim ersten Mal: herunterladen des Basiscontainers
    wo kommt das image her?
    https://hub.docker.com/explore/
  • Hinzufügen einer Datei
    cat index.html
    ADD index.html /usr/local/apache2/htdocs/index.html
  • docker build -t homepage .
  • Ausführen des Containers
  • docker run -ti -p 80:80 homepage
    Browser öffnen: http://localhost
  • Anzeigen laufender Container
  • docker ps
    Container ID und Name erklären
    Anzeigen der Logausgabe (stdout!) zu einem Container
  • docker logs -f –tail=100 homepage
  • Anzeigen der Details zu einem Container
  • docker inspect homepage
  • Ausführen eines Befehls im docker container
  • docker exec -ti homepage bash
    Welche Prozesse laufen jetzt?
    ps faxu
    ps faxu | grep -A 10 docker
  • Stoppen des Containers: kill vs stop
  • docker stop homepage. uups
    docker stop <name>
    docker ps -a
    Nochmal starten des Containers, diesmal mit –name
  • docker run –name homepage -d -p 80:80 homepage
    name conflict zeigen
  • Löschen des Containers
    docker rm homepage
    name conflict zeigen
  • Nutzen einer Datenbank
    docker run –name testdb -e POSTGRES_PASSWORD=pass -e POSTGRES_USER=user -d postgres
    docker run –name homepage -d -p 80:80 –link testdb:db homepage
  • Zeige Environment Variablen im homepage container
    docker exec -ti homepage bash
    env
    cat /etc/hosts
    vgl. mit: docker inspect testdb
  • Datenbank-Connection immer per Environment-Variablen Konfigurieren!
    Beispiel: cat example.application.conf
  • Nutzen von Volumes.
    mkdir mount
    docker run -v pwd/mount:/data –name homepage -d homepage
    touch mount/hallo.txt
    docker exec -ti homepage bash
    touch /data/hallo.txt
    ls -la /data
  • Nginx Reverse Proxy für https mit self-signed Zertifikaten
    docker run –name nginx -d -p 80:80 -p 443:443 docker.flavia-it.de/nginxlocal
    docker run -e VIRTUAL_HOST=localhost -e PUBLIC=true –name homepage -d homepage
  • Wie funktioniert unsere Betriebsumgebung
    ssh inhouse, docker ps
    Namenskonventionen erklären, run script zeigen

You may also like...

2 Responses

  1. Matthias Hampel sagt:

    Danke für das Video! Schön auch mal eine Docker-Einführung auf Deutsch zu sehen (y).
    Grüße aus Göttingen 🙂

Schreibe einen Kommentar

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