Linux- & Docker-Befehle: Referenz & Troubleshooting

Wir haben diese Befehle für unsere Entwickler zu Referenzzwecken veröffentlicht. Sie sind öffentlich sichtbar, da sie auch für andere Entwickler hilfreich sein könnten:

Docker

#alle Container stoppen: docker stop $(docker ps -a -q)

Docker-Dienst neu starten

sudo systemctl restart docker.service Alle Container neu erstellen docker-compose up --build --force-recreate --no-deps #alle Container per Force stoppen docker kill $(docker ps -q) #alle Container entfernen docker rm $(docker ps -a -q) #alle Docker-Images entfernen docker rmi $(docker images -q) #den Rest aufräumen docker system prune --all --force --volumes #IP eines Containers finden docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [container_name] #Docker-Logs anzeigen docker-compose logs #Docker-Prozess anzeigen docker-compose ps mysqldump in einem Container ausführen docker exec [container_name] sh -c 'exec mysqldump --all-databases -uroot -p[password]' > /home/user/all-databases.sql Fehlermeldung: Could not kill running container runc did not terminate successfully: container_linux.go:392: init process caused „permission denied“ Das kann passieren, wenn AppArmor das Stoppen des Docker-Containers verhindert. Eine Lösung ist, AppArmor zu deinstallieren und den Docker-Dienst neu zu starten: sudo apt-get purge --auto-remove apparmor sudo service docker restart docker system prune --all --volumes sudo systemctl restart docker sudo systemctl daemon-reload Fehler beim Starten des Userland-Proxys: listen tcp 172.200.0.1:443: bind: address already in use PID finden und beenden: sudo netstat -nlpt |grep 3306 sudo kill [pid]

Netzwerk

Anzahl offener Verbindungen pro IP netstat -ntu | awk ‚{print $5}‘ | cut -d: -f1 | sort | uniq -c | sort -n Alle mit einem bestimmten Port verbundenen IP-Adressen anzeigen netstat -an |grep 443 netstat -an |grep 80 Verbindungen pro IP zählen netstat -an | grep 80 | wc -l netstat -an | grep 443 | wc -l

Firewall iptables

Firewall: IP-Adresse blockierensudo iptables -A INPUT -s [IP ADDRESS] -j DROP Zugriff von einer bestimmten IP-Adresse erlaubensudo iptables -A INPUT -s 91.52.78.249 -p tcp –destination-port 3306 -j ACCEPT Durch fail2ban gesperrte IP-Adressen entsperren iptables -D [chain] [line] z.B. iptables -D f2b-wordpress-hard 1 Firewall-Regeln Siehe: https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04

  • sudo ufw default deny incoming
  • sudo ufw default allow outgoing
  • sudo ufw allow ssh
  • sudo ufw allow 1000
  • sudo ufw allow http
  • sudo ufw allow 443
  • sudo ufw allow from 91.52.78.249 to any port 3306 (Lokale IP-Adresse)
  • sudo ufw allow from 52.45.200.92 to any port 3306 (Amazon DBS)
  • sudo ufw deny from 157.245.247.135

MySQL

MySQL-Passwort-Authentifizierungsmodul auf mysql_native_password ändern. Wird beim Upgrade von 7.X auf MySQL 8.x benötigt ALTER USER ‚user’@’localhost‘ IDENTIFIED WITH mysql_native_password BY ‚password1‘;

Debug xDebug:-)

Wenn dein Code-Editor sich nicht mit xDebug verbindet, erstelle eine Datei test.php in deinem App-Ordner mit etwas Code und setze einen Breakpoint darauf. Führe dann den folgenden Befehl aus, um es zu testen:

PHP_IDE_CONFIG="serverName=tests" php -dxdebug.remote_autostart=1 -dxdebug.remote_enable=1 -dxdebug.default_enable=1 -dxdebug.remote_connect_back=1 -dxdebug.remote_port=9001 -dxdebug.idekey=PHPSTORM -dxdebug.remote_host=172.200.0.1 test.php

Login lädt die Login-Maske erneut

Wenn du versuchst, dich bei KDE einzuloggen, und das Login-Formular nach der Eingabe korrekter Zugangsdaten neu lädt, probiere die folgenden Befehle aus:

systemctl stop gdm.service
systemctl restart gdm.service
sudo dpkg-reconfigure gdm3
reboot
Rene Hermenau

Autor: Rene Hermenau

Über den Autor: René Hermenau ist Gründer von WP STAGING. Er arbeitet an WordPress-Backups, Staging, Migrationen, Datenbankverarbeitung und sicheren Deployment-Workflows.