J'ai déployé aujourd'hui une instance de MediaWiki en utilisant l'image docker appcontainers / mediawiki, et j'ai maintenant un nouveau problème pour lequel je ne trouve aucun indice. Après avoir essayé de vous attacher au conteneur frontal de mediawiki en utilisant:
docker attach mediawiki_web_1
qui répond Terminated
sur ma configuration pour une raison que j'ignore, en essayant aussi:
docker exec -it mediawiki_web_1 bash
J'obtiens quelque chose qui ressemble à un message d'erreur:
Error response from daemon: Container 81c07e4a69519c785b12ce4512a8ec76a10231ecfb30522e714b0ae53a0c9c68 is restarting, wait until the container is running
Et il y a mon nouveau problème, car ce conteneur n'arrête jamais de redémarrer. Je peux voir que using docker ps -a
qui renvoie toujours un STATUS de Restarting (127) x seconds ago
.
Le fait est que je suis capable d'arrêter le conteneur (j'ai testé) mais le redémarrer semble le ramener dans sa boucle de redémarrage.
Une idée de ce qui pourrait être le problème ici? Le tout fonctionnait correctement jusqu'à ce que j'essaye de m'y attacher ...
Je suis triste :-(
Réponses:
La
docker logs
commande vous montrera la sortie qu'un conteneur génère lorsque vous ne l'exécutez pas de manière interactive. Cela inclura probablement le message d'erreur.Vous pouvez également exécuter un nouveau conteneur au premier plan avec
docker run -ti <your_wiki_image>
pour voir ce que cela fait. Vous devrez peut-être mapper une configuration de votredocker-compose
yml à ladocker
commande.Je suppose que l'attachement au processus de wiki multimédia a provoqué un crash qui a corrompu quelque chose dans vos données.
la source
2016-05-26T16:38:27.362409489Z * Stopping web server apache2 * 2016-05-26T21:49:11.376549083Z Terminated 2016-05-26T21:49:11.688655642Z /bin/bash: /tmp/.runconfig.sh: No such file or directory
:, vous avez donc raison, il y a quelque chose de corrompu dans les données car le runconfig.sh semble avoir disparu. J'essaierai d'exécuter à nouveau le conteneur depuis le premier plan comme vous l'avez conseillé. Juste besoin de trouver comment spécifier les 25 arguments appropriés ^^docker ps -a
m'a montré qu'il était coincé dans une boucle de démarrage et votre commande m'a montré pourquoi: des fichiers déjà dans le répertoire mysql qu'il ne pouvait pas supprimer. Tu m'as sauvé des heures de plus à m'arracher les cheveux. Merci!Lorsque
docker kill CONTAINER_ID
ne fonctionne pas etdocker stop -t 1 CONTAINER_ID
ne fonctionne pas non plus, vous pouvez essayer de supprimer le conteneur:J'ai eu un problème similaire aujourd'hui où les conteneurs étaient dans une boucle de redémarrage continu.
Le problème dans mon cas était lié au fait que j'étais un mauvais ingénieur.
Quoi qu'il en soit, j'ai résolu le problème en supprimant le conteneur, en réparant mon code, puis en reconstruisant et en exécutant le conteneur.
J'espère que cela aidera quiconque sera coincé avec ce problème à l'avenir
la source
restart: always
ce qui m'a laissé dans une boucle de docker essayant de démarrer une application cassée .. :(D'après l'expérience personnelle, il semble qu'il y ait un problème dans votre conteneur Docker qui ne lui permet pas de redémarrer. Ainsi, un processus dans le conteneur provoque le blocage du redémarrage ou un processus provoque le blocage du conteneur au démarrage.
Lorsque vous démarrez le conteneur, assurez-vous de le démarrer en détachant "-d" si vous souhaitez vous y attacher. (ex. "docker run -d mediawiki_web_1")
la source
tl; dr Il redémarre avec un code d'état de
127
, ce qui signifie qu'il manque un fichier / une bibliothèque dans votre conteneur. Le démarrage d'un nouveau conteneur pourrait bien le réparer.Explication:
En ce qui concerne ma compréhension de Docker, voici ce qui se passe:
127
, qui est expliqué dans cette réponse .no
( la valeur par défaut ), (en utilisant soit l'indicateur de ligne de commande--restart
ou ladocker-compose.yml
clérestart
) lors du démarrage du conteneur.Solution: quelque chose a peut-être corrompu votre conteneur. Le démarrage d'un nouveau contenant devrait idéalement faire le travail.
la source
Cela peut également être le cas si vous avez créé un
systemd
service qui a:la source
Dans mon cas, le conteneur nginx continuait à redémarrer, j'ai vérifié les journaux du conteneur nginx et j'ai appris que les fichiers .crt et .key d'un domaine non requis avaient des erreurs, j'ai donc supprimé les fichiers .conf respectifs, .crt et .key, puis redémarré nginx. Voilà, nginx fonctionne correctement sans redémarrer.
la source
J'avais oublié Minikube en arrière-plan et c'est ce qui les a toujours redémarrés
la source
Vérifiez d'abord les journaux pourquoi le conteneur a échoué. Parce que votre politique de redémarrage peut ramener votre conteneur à l'état d'exécution. Mieux vaut résoudre le problème, alors vous pouvez probablement créer une nouvelle image avec / sans correctif. Exécutez plus tard la commande ci-dessous
docker system prune
https://forums.docker.com/t/docker-registry-in-restarting-1-status-forever/12717/3
la source
Essayez d'ajouter ces paramètres à votre fichier yml docker
Le fichier final devrait ressembler à ceci
la source