FAQ
Hier findest du die am häufig gestelltesten Fragen.
- Was ist Docker?
- Ist Docker kostenlos?
- Was ist der Unterschied zwischen Images und Container?
- Wie kann meine Daten aus einem Container erhalten?
- Kann ich über Docker Photoshop laufen lassen?
- Ich habe kein WLAN mehr, wenn ich Docker in der Deutschen Bahn nutze.
- Was ist YAML?
- Wie deinstalliert man Docker?
Was ist Docker?
Docker ist eine Containerisierungstechnologie. Wir haben eine genauere Definition auf unserer Seite Was ist Docker?
Ist Docker kostenlos?
Docker gibt es in zwei Versionen: der kostenlosen Community-Edition und der kommerziellen Enterprise-Edition. Für unsere Beispiele genügt die kostenlose Variante.
Was ist der Unterschied zwischen Images und Container?
Ein Docker Image ist die Vorlage für einen Container, also einen Prozess. Images kann man entweder selbst bauen oder aus einer Registry (z.B. Docker Hub) herunterladen. Container werden gestartet und dann konfiguriert.
Wie kann meine Daten aus einem Container erhalten?
Container verlieren nach dem Beenden alle Ihre Daten. Möchte man jedoch Daten sichern muss man dies über sogenannte Volumes machen. Der neu erstellte Container kann dann auf diese Volumes zurückgreifen. Weiter Informationen findest du unter Volumes - Laufwerke anhängen.
Kann ich über Docker Photoshop laufen lassen?
Nein. Docker ist für den Serverbetrieb entwickelt worden und ausgelegt. Große Programme mit einer GUI sind daher nicht für Docker gedacht. Will man allerdings eine Website aufbauen lohnt sich in jedem Fall ein Blick auf Docker.
Ich habe kein WLAN mehr, wenn ich Docker in der Deutschen Bahn nutze.
Docker nutzt den gleichen IP-Adressbereich wie die Deutsche Bahn. Deswegen blockiert Docker's Netzwerkkonfiguration den Zugang. Nach dem Beenden der Software und dessen virtuellen Netzwerke sollte wieder eine Verbindung aufgebaut werden. Alternativ empfehlen wir einen Neustart.
Was ist YAML?
Bevor es weiter mit Docker-Compose geht, sollten wir uns die docker-compose.yml Datei näher anschauen. YAML ist ein rekursives Akronym das für “YAML Ain’t Markup Language” steht. Dieses Dateiformat wird von vielen Applikationen verwendet, sowohl für die Konfiguration als auch für das Strukturieren von Daten.
Die Docker-Compose-Datei wird im Yaml-Format verfasst, das jeder Texteditor erzeugen kann – mit einer IDE können Sie sich das Leben aber deutlich erleichtern.
Text-Editor für Yaml-Datei einrichten
In Yaml wird die Struktur der Daten über Einrückungen festgelegt, eine Unterebene wird durch zwei Leerzeichen am Zeilenanfang eingeleitet. Hat dein bevorzugter Editor eine Möglichkeit, Leerzeichen sichtbar zu machen, solltest du diese Funktion nutzen. Empfehlenswert ist die Open-Source-IDE Visual Studio Code. Mit Strg+Umschalt+P öffnest du die Befehlseingabe. Tippe dort den Begriff „Rendern“ ein und wähle „Ansicht: Rendern von Leerzeichen umschalten“. Leerzeichen sind jetzt nicht mehr unsichtbar. Wer viel mit Docker-Compose und Visual Studio Code arbeitet, kann sich zusätzlich die Erweiterung „Docker Compose“ installieren. Sie fügt eine kleine GUI für Docker-Compose in der Oberfläche der IDE hinzu, über die man einzelne Container inspizieren und verwalten kann.
Wie deinstalliert man Docker?
Wenn du noch über eine der älteren Versionen von Docker verfügst hat diese vermutlich einen anderen Namen, was das Deinstallieren erschwert. Mit folgendem Befehl werden die älteren Versionen mit eingeschlossen und sollten auch deinstalliert werden:
$ sudo apt-get remove docker docker-engine docker.io containerd runc
Ob die Installation erfolgreich verlief siehst du, wenn du den Versions-Befehl von oben ausführst. Falls der Befehl immer noch fehlerfrei reagiert bedeutet das, dass die Deinstallation nicht erfolgreich verlief. In diesem Falle kann es bedeuten, dass du die neuere Version von Docker (Docker-CE) hast. Du kannst natürlich auch die Versionen einzeln zu Deinstallation ansprechen:
$ sudo apt-get purge docker-ce
Glossar
Häufig genutzte Wörter sind in diesem Glossar zusammengefasst.
Begriff | Erklärung |
---|---|
Container | Ein Container ist ein laufender Prozess auf dem HostOS. Container werden aus Abbildern (Images) erstellt und können nach Belieben gestartet und gestoppt werden. |
Image | Ein Image ist ein “Bauplan”, aus dem sich Container erzeugen lässt. Das Image enthält alle notwendigen Abhängigkeiten, welche die Anwendung benötigt um ordnungsgemäß zu funktionieren. |
Virtual Machine (VM) | Eine virtuelle Maschine ist ein Programm, dass einen virtuellen PC erzeugt, der sich wie ein eigenständiger PC verhält. Dafür werden jedoch Ressourcen des physischen PCs verwendet. Eine Unterscheidung zwischen VMs und Container gibt es findet sich unter Warum Docker? |
Volume | Da Daten normalerweise beim Beendenden des Containers nicht gespeichert werden verwendet man Volumes um diese zu dauerhaft zu speichern, Volumes kann man sich wie Ordner Verzeichnisse vorstellen. Mehr über Volumes erfährst du unter Docker Volumes. |
Terminal Kommandozeile |
Das Terminal ist ein Programm, dass euch erlaubt auf Docker zuzugreifen und durch Befehle Container zu manipulieren. |
Häufige Kommandos
Neben häufig genutzten Wörtern gibt es bei Docker auch ein paar Standardbefehle, die hier zu finden sind.
Kommandos | Erklärung |
---|---|
$ docker build |
Erstellt neuen Docker Container im aktuellen Verzeichnis. |
$ docker ps $ docker container ls |
Zeigt alle laufenden Docker Container. |
$ docker ps -a $ docker container ls --all |
Zeigt eine Übersicht aller Container inklusive Status |
$ docker |
Zeigt alle Docker Kommandos an (Help-Ansicht). |
$ docker run container |
Erstellt einen Docker Container und startet ihn. |
$ docker stop container |
Der Docker Container wird gestoppt. |
$ docker restart container |
Der Docker Container wird neu gestartet. Falls kein Volume erstellt wurde sind alle Änderungen ungesichert. |
$ docker rm container |
Der Docker Container wird gelöscht. |
$ docker exec container |
Der laufende Docker Container wird betreten. |
$ docker images |
Zeigt eine Übersicht über alle erstellten Images. |
$ docker image rm image-id |
Löscht das Image der ausgewählten ID. |
$ apt-get update |
apt (advanced packaging tool) ist ein Paketmanager, ähnlich wie Composer. Dieser Befehl updatet das Tool. |
$ docker run -it —name container ubuntu:14.04 /bin/bash |
Docker Container mit Ubuntu ditribution erstellen → virtuelle Ubuntu-Distribution durch -it in interaktiven terminale (bash) |
$ apt-get install curl |
installiert cURL (client for URL) Kommandozeilen-Werkzeug zum Herunter- oder Hochladen von Dateien über eine Internetadresse. → dadurch wird basisimage um ein weiteres image (cURL) erweitert. |
$ docker run -it -v ~/webroot/mapdir:/home/daten --name container ubuntu:14.04 /bin/bash |
Verzeichnis auf Host mappen: /mapdir stellt hierbei das gewünschte Verzeichnis auf dem host-rechner dar. /home/daten das gewünschte Zielverzeichnis in der Ubuntu-bash
|