J'apprenais laravel sur la base d'un certain matériel d'apprentissage, et c'était le contenu pour démarrer le conteneur en utilisant PostgreSQL, mais cela n'a pas bien commencé, donc c'est un mémorandum jusqu'à la résolution des erreurs.
Terminal
docker-compose up -d workspace php-fpm nginx postgres
C'est une option après up, mais les postgres attachés à la fin seront l'histoire cette fois
Si le conteneur est démarré avec succès,
Terminal
Creating laravel-sns_docker-in-docker_1 ... done
Creating laravel-sns_workspace_1 ... done
Creating laravel-sns_php-fpm_1 ... done
Creating laravel-sns_nginx_1 ... done
Creating laravel-sns_porstgres_1 ... done
Ça devrait sortir comme ça, mais dans mon cas
Terminal
Recreating laravel-sns_postgres_1 ... error
Creating laravel-sns_docker-in-docker_1 ... done
Creating laravel-sns_workspace_1 ... done
Creating laravel-sns_php-fpm_1 ... done
Creating laravel-sns_nginx_1 ... done
ERROR: for laravel-sns_postgres_1 Cannot start service postgres: Ports are not available: listen tcp 0.0.0.0:5432: bind: address already in use
Ça ressemble à ça.
Il y a quelques mois, j'ai découvert que c'était des postgres que j'avais installés alors que je n'en savais pas beaucoup plus que maintenant.
À ce moment-là, je me suis souvenu de l'existence de postgres, que j'avais installé sans penser à rien parce que je voulais utiliser une base de données autre que MySQL, et quand j'ai regardé l'état de connexion de pgadmin, le numéro de port 5432 indiqué dans ce contenu d'erreur était connecté. C'était dans un état.
Cette fois, c'était une erreur qui s'est produite lors de l'apprentissage d'un certain matériel pédagogique, alors quand j'ai consulté l'instructeur, ・ Les ports ne sont pas disponibles · Adresse déjà utilisée Pourquoi ne cherchez-vous pas avec des mots-clés? J'ai eu le conseil, alors
Les ports ne sont pas disponibles → Les ports ne sont pas disponibles adresse déjà utilisée → L'adresse a déjà été utilisée Sur la base de l'interprétation de la traduction littérale, j'ai cherché et trouvé un indice qui semble être celui-ci.
Article auquel j'ai pu me référer https://mebee.info/2020/04/20/post-7968/
Est-il possible de tuer le processus en utilisant le numéro de port 5432 sur cette base? J'ai pensé et exécuté immédiatement
Terminal
sudo lsof -i -P | grep 5432
pgAdmin4 2471 --------- 21u IPv6 --------- 0t0 TCP localhost:64447->localhost:5432 (CLOSE_WAIT)
* Les noms de compte et les jetons sont masqués.
Maintenant que nous savons que le numéro de processus était 2471,
Terminal
kill 2471
Exécutez la commande kill avec
Redémarrez le conteneur
Terminal
docker-compose up -d workspace php-fpm nginx postgres
Conteneurs omis qui ont déjà été démarrés
Starting 8d38216de390_laravel-sns_postgres_1 ... done
J'ai pu démarrer postgres en toute sécurité.
Quand j'y pense, je me suis rappelé que postgres, que je n'avais installé qu'à l'époque et que je n'avais jamais utilisé, était déjà connecté au serveur.
Je connaissais l'horreur d'installer cela même dans un état ignorant, mais à ce moment-là, je ne connaissais même pas du tout la commande kill, alors j'ai appris qu'il y a des choses qui peuvent être résolues avec le temps.
Ce n'est pas un gros problème, mais s'il y a une seule personne dans la même situation, cela peut être utile pour quelque chose.
Recommended Posts