Docker-Aufgaben#
Das hier ist eine Sammlung von verschiedenen Docker Beispielen. Sie sollten zum lernen und verstehen von Docker behilflich sein.
Whalesay#
Cowsay ist ein Linux Spiel, welches eine Kuh auf dem Bildschirm ausgibt. Diese Kuh kann einen Text sagen. Das Spiel ist sehr beliebt und wird in vielen Linux Distributionen mitgeliefert. Es gibt auch eine Docker Image für Whalesay. Dieses Image ist eine Modifizierung von Cowsay, welche einen Wal ausgibt.
MySQL#
MySQL ist eine Datenbank, welche in vielen Projekten verwendet wird. Es gibt ein Docker Image für MySQL. Dieses Image kann verwendet werden, um eine MySQL Datenbank zu starten. Wie die meisten Docker Images kann das Neuste mit dem Tag latest
verwendet werden. So ist sichergestellt, dass immer die neuste und sicherste Version verwendet wird.
Mithilfe von Umgebungsvariablen wird MySQL konfiguriert. Mithilfe von -e
Können diese Variablen gesetzt werden. Wenn nicht genügend gesetzt sind, dann wird ein Fehler ausgegeben. Der Parameter --name
besagt wie der Container heissen soll. Über diesen Namen kann dann auch darauf zugegriffen werden. Damit der Container richtig läuft braucht es ein Passwort. Dieses kann über -e MYSQL_ROOT_PASSWORD=
gesetzt werden. Mit MYSQL_DATABASE
kann eine Datenbank erstellt werden. MYSQL_USER
und MYSQL_PASSWORD
sind für das erstellen eines Standardbenutzers zuständig. Über MYSQL_RANDOM_ROOT_PASSWORD
kann ein zufälliges Passwort gesetzt werden, welches in der Konsole dargestellt wird.
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest
Der Container läuft im Hintergrund, da -d
(--detach
) als Parameter hinterlegt wurde. Um den Status des Containers zu überprüfen, kann docker ps
verwendet werden. Dieser Befehl zeigt alle laufenden Container an. Mit docker logs
kann der Log des Containers ausgegeben werden. Dieser Befehl kann auch mit dem Namen des Containers verwendet werden. Um sich mit dme Container zu verbinden kann dieser Befehl verwendet werden:
SQL-Skripts können entweder beim Starten des Containers oder nachträglich ausgeführt werden. Alle Skripts, die sich im Laufwerk docker-entrypoint-initdb.d
befinden, werden beim Starten ausgeführt. Für das spätere hinzufügen kann das Skript in den Container kopiert werden. Dies kann mit folgendem Befehl geschehen: