J’ai dû modifier et recharger la configuration plusieurs fois pour dépanner le service de messagerie de Siteground. Il existe de nombreux conseils sur la manière de le faire le plus rapidement possible.
Cependant, les résumer crée de la confusion.
Pourriez-vous donc m’expliquer plus en détail les différences entre les commandes listées ci-dessous ?
Les informations figurant dans le guide d’installation et dans les publications de ce forum sont quelque peu incohérentes. Il n’est pas entièrement clair, par exemple, quelle est la différence entre l’initialisation et la construction d’un conteneur.
Il devrait exister une échelle d’escalade indiquant quelles actions nécessitent quelle commande si vous modifiez, par exemple, le fichier app.yml, car certains affirment que start suffit, tandis que d’autres disent qu’il faut rebuild ou même exécuter ./discourse-setup.
Commandes :
start : Démarrer/initialiser un conteneur
stop : Arrêter un conteneur en cours d'exécution
restart : Redémarrer un conteneur
destroy : Arrêter et supprimer un conteneur
bootstrap : Initialiser un conteneur pour la configuration basée sur un modèle
rebuild : Reconstruire un conteneur (supprimer l'ancien, initialiser, démarrer le nouveau)
Je commence à avoir l’impression que toutes les commandes forment une séquence d’actions successives.
Chaque étape/commande suivante fait la même chose que sa précédente, plus quelque chose en plus.
Par exemple, quelque chose comme ceci :
Démarrage
bootstrap : supprimer l’ancien + initialiser un conteneur pour la configuration basée sur un modèle
rebuild : bootstrap + reconstruire un conteneur (démarrer le nouveau), ce qui implique des tâches comme télécharger les dernières versions des logiciels et appliquer la configuration mise à jour
start : initialiser, peu importe ce que cela signifie exactement
Arrêt
stop : arrêter un conteneur en cours d’exécution
restart : redémarrer un conteneur (incluant l’arrêt)
Je vais faire une PR sur GitHub, mais j’ai besoin de comprendre chaque commande en détail, ce qui n’est pas le cas actuellement.
Pourriez-vous m’expliquer ce que déclenche chaque commande ? J’ai lu de nombreux articles à ce sujet, mais les informations ne sont pas cohérentes.
Un bon exemple est start. On dit parfois qu’il sert uniquement à arrêter et redémarrer le conteneur, par exemple si l’on effectue une action sur l’hôte. Dans un autre sujet, il est mentionné qu’il initialise un conteneur, quoi que cela signifie
Initialiser signifie que si aucun conteneur n’existe, il sera créé. Si vous arrêtez et redémarrez, vous arrêterez et redémarrerez le même conteneur avec les mêmes paramètres (comme les paramètres SMTP et autres variables d’environnement). Cependant, si vous détruisez d’abord le conteneur, un nouveau conteneur avec de nouveaux paramètres d’environnement sera créé ou initialisé.
Bootstrap crée une nouvelle image Docker, ce qui est nécessaire pour pouvoir « initialiser » un conteneur en cours d’exécution.
La reconstruction fonctionnera toujours. Parfois, elle est inutile, car une destruction et un redémarrage suffisent pour que les paramètres de l’environnement (comme SMTP) prennent effet. Mais beaucoup de gens ne comprendront pas vraiment ces subtilités, il vaut donc mieux leur dire de toujours reconstruire, car cela fonctionne à tous les coups.
Usage : launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Commandes :
start : Démarrer/initialiser un conteneur
stop : Arrêter un conteneur en cours d'exécution
restart : Redémarrer un conteneur
destroy : Arrêter et supprimer un conteneur
enter : Ouvrir un shell pour exécuter des commandes à l'intérieur du conteneur
logs : Afficher les logs Docker pour un conteneur
bootstrap : Bootstrap un conteneur pour la configuration basé sur un modèle
run : Exécuter la commande donnée avec la configuration dans le contexte de la dernière image bootstrappée
rebuild : Reconstruire un conteneur (détruire l'ancien, bootstrap, démarrer le nouveau)
cleanup : Supprimer tous les conteneurs arrêtés depuis plus de 24 heures
start-cmd : Générer la commande docker utilisée pour démarrer le conteneur
Options :
--skip-prereqs Ne pas vérifier les prérequis du lanceur
--docker-args Arguments supplémentaires à passer lors de l'exécution de docker
--skip-mac-address Ne pas attribuer d'adresse mac
--run-image Remplacer l'image utilisée pour exécuter le conteneur
root@monstera:/var/discourse#