===== Docker FAQs: ===== ---- {{:apache:faqs.png?nolink&100x67}} ===== Backup Script für docker volumes ===== Eine nützliche Anleitung [[https://www.laub-home.de/wiki/Docker_Volume_Backup_Script|findest du hier]] ===== Busybox ===== BusyBox wird heutzutage immer beliebter, besonders unter Docker-Benutzern. Viele Docker-Images verwenden BusyBox, um Ihnen ein minimales Image zur Verfügung zu stellen. Einen interessanten Artikel findest du hier: [[https://linuxhandbook.com/what-is-busybox/|Busybox]] ===== Collabora Online in Nextcloud ===== [[https://www.bitblokes.de/collabora-online-libreoffice-nextcloud-docker-code/|Hier eine Anleitung]] für Ubuntu 18.04 und Nextcloud 16, Bei der Eingabe des neuen Collabora Containers ist die eigene Nextcloud Domain einzugeben. ''docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain= cloud \\. nextcloud \\. com ' –restart always -–cap-add MKNOD collabora/code'' Bei der Konfiguration in Nextcloud unter **Collabora** ist neben der Office Adresse auch der Port **443** einzugeben. Befinden sich die Nextcloud und Collabora Office hinter einem Proxy, so soll [[https://help.nextcloud.com/t/reverse-proxy-for-port-9980/11388|diese Anleitung heilfen]] (noch nicht getestet) ===== Collabora Container Updaten ===== Folgende Schritte sind durchzuführen: - ''docker container ls'' \\ listet die Container auf - ''docker container stop CONTAINER ID'' \\ stoppt den Container - ''docker container rm CONTAINER ID'' \\ löscht den Container - ''docker pull collabora/code'' \\ holt den neuen Container - ''docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=cloud\\.nextcloud\\.com' -–restart always -–cap-add MKNOD collabora/code'' ===== Cron Jobs in Docker erstellen ===== zum Ausprobieren [[https://github.com/cheyer/docker-cron|hier eine Anleitung]] ===== Deinstallieren von Docker ===== sudo dpkg -l | grep -i docker sudo apt-get purge -y docker-engine docker docker.io docker-ce sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce sudo rm -rf /var/lib/docker /etc/docker sudo rm /etc/apparmor.d/docker sudo groupdel docker sudo rm -rf /var/run/docker.sock Details [[https://askubuntu.com/questions/935569/how-to-completely-uninstall-docker|siehe hier]] ===== Dockervolumes leicht erklärt ===== [[https://www.ionos.de/community/server-cloud-infrastructure/docker/docker-container-volumes-verstehen-und-verwalten/|https://www.ionos.de/community/server-cloud-infrastructure/docker/docker-container-volumes-verstehen-und-verwalten/]] Welche php.ini wurde geladen: docker exec -it php -i | grep "Loaded Configuration File" ===== Dockervolumes für Konfigigurationsdateien anlegen ===== geht über named volumes. Die named Volumes werden in **/var/lib/docker/DOCKERVOLUMENAME/_data** gespeichert. In diese kann die Konfigurationsdatei gespeichert werden. Beachte auch das docker-compose.yml **ToDo** : diesen Schritt automatisieren ===== Fehlermeldungen ===== * Failed to start docker.service: Unit docker.service is masked. Abhilfe: ''systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service'' ===== Kopieren eines Files vom Host System in einen Container und umgehrt ===== Kopieren in einen Container: docker cp beispiel.txt mycontainer:/beispiel.txt Kopieren aus einem Container docker cp mycontainer:/beispiel.txt beispiel.txt Mehrere Files kopiert man folgendermaßen (z.B. vom src Directory): docker cp src/. mycontainer:/target docker cp mycontainer:/src/. target Genauers siehe die [[https://docs.docker.com/engine/reference/commandline/cp/|Beschreibung von docker cp]] ===== Logs und Docker ===== Logs in docker [[https://docs.docker.com/engine/reference/commandline/logs/|ansehen]] ===== Nano in Docker installieren ===== docker exec -it id_container bash apt-get update apt-get install nano export TERM=xterm ===== PHP Variablen aus einen Docker Container auslesen ===== den Docker Container starten docker exec -it /bin/bash danach im Container folgenden Befehl eingeben: php -i danach die Variable suchen ===== Restart Policies ===== Eine genaue Beschreibung [[https://linuxhandbook.com/docker-restart-policy/?fbclid=IwAR2WylOgMdofEilEwYbL_v_PWLeAgOagJG2ywmKzYFIaDJNe_-6_ZzzHakg#setting-restart-policy-in-docker-compose-file|findest du hier:]] Für Eilige hier eine Übersichtstabelle: ^Policy^Erklärung| |always restart|Der Container wird immer neu gestartet, es sei denn er wurde explizit gestoppt. Wenn Sie den Container mit dem Befehl stop anhalten, \\ wird er danach nicht automatisch neu gestartet| |unless-stopped|Die Richtlinie "unless-stopped" ist ähnlich wie die Richtlinie "always restart". Beide starten die Container automatisch neu und wenn Sie die \\ ontainer explizit stoppen, werden sie nicht neu gestartet. Der Hauptunterschied zwischen den beiden besteht jedoch darin, dass, wenn Sie die \\ Container mit dem Befehl docker stop anhalten und dann den Docker-Daemon neu starten, der Container mit der Richtlinie always restart \\ automatisch gestartet wird, der Container mit der Richtlinie unless-stopped jedoch nicht neu gestartet wird.| |on-failure restart|Die Richtlinie für den Neustart im Fehlerfall startet einen Container neu, wenn er mit einem Exit-Code ungleich Null (der einen Fehler/Fehlschlag \\ nzeigt) verlassen wurde.| ===== Speicherort von Docker Containern ===== Dockercontainer werden in ''/var/lib/docker'' gespeichert.