Commandes Linux et Docker : référence et dépannage

Nous avons publié ces commandes pour nos développeurs à des fins de référence. Elles sont visibles publiquement car elles peuvent aussi être utiles à d’autres développeurs :

Docker

#arrêter tous les conteneurs : docker stop $(docker ps -a -q)

Redémarrer le service Docker

sudo systemctl restart docker.service Recréer tous les conteneurs docker-compose up --build --force-recreate --no-deps #arrêter tous les conteneurs de force docker kill $(docker ps -q) #supprimer tous les conteneurs docker rm $(docker ps -a -q) #supprimer toutes les images Docker docker rmi $(docker images -q) #purger le reste docker system prune --all --force --volumes #Trouver l’IP d’un conteneur docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [container_name] #Afficher les logs Docker docker-compose logs #Afficher les processus Docker docker-compose ps Exécuter mysqldump dans un conteneur docker exec [container_name] sh -c 'exec mysqldump --all-databases -uroot -p[password]' > /home/user/all-databases.sql Message d’erreur : Could not kill running container runc did not terminate successfully: container_linux.go:392: init process caused « permission denied » Cela peut arriver si apparmor empêche l’arrêt du conteneur Docker. Une solution consiste à désinstaller apparmor et à redémarrer le service Docker : sudo apt-get purge --auto-remove apparmor sudo service docker restart docker system prune --all --volumes sudo systemctl restart docker sudo systemctl daemon-reload Erreur au démarrage du proxy userland : listen tcp 172.200.0.1:443: bind: address already in use Trouvez le PID et tuez-le : sudo netstat -nlpt |grep 3306 sudo kill [pid]

Réseau

Nombre de connexions ouvertes par IP netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n Afficher toutes les adresses IP connectées à un port donné netstat -an |grep 443 netstat -an |grep 80 Compter les connexions par IP netstat -an | grep 80 | wc -l netstat -an | grep 443 | wc -l

Pare-feu iptables

Pare-feu : bloquer une adresse IPsudo iptables -A INPUT -s [IP ADDRESS] -j DROP Autoriser l’accès depuis une adresse IP spécifiquesudo iptables -A INPUT -s 91.52.78.249 -p tcp –destination-port 3306 -j ACCEPT Débloquer des adresses IP bloquées par fail2ban iptables -D [chain] [line] z.B. iptables -D f2b-wordpress-hard 1 Règles du pare-feu Voir : 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 (Adresse IP locale)
  • sudo ufw allow from 52.45.200.92 to any port 3306 (Amazon DBS)
  • sudo ufw deny from 157.245.247.135

MySQL

Modifier le module d’authentification des mots de passe MySQL pour mysql_native_password. Nécessaire lors de la mise à niveau de 7.X vers MySQL 8.x ALTER USER ‘user’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password1’;

Déboguer xDebug:-)

Si votre éditeur de code ne se connecte pas à xDebug, créez un fichier test.php dans le dossier de votre application avec un peu de code et ajoutez-y un point d’arrêt. Exécutez ensuite la commande ci-dessous pour tester :

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

La connexion recharge l’écran de connexion

Si vous essayez de vous connecter à KDE et que le formulaire de connexion se recharge après avoir saisi des identifiants corrects, essayez les commandes ci-dessous :

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

Auteur : Rene Hermenau

À propos de l'auteur : René Hermenau est le fondateur de WP STAGING. Il travaille sur les sauvegardes WordPress, les environnements de staging, les migrations, la gestion des bases de données et les workflows de déploiement sécurisés.