Ich habe Laravel basierend auf einem bestimmten Lernmaterial gelernt, und es war der Inhalt, den Container mit PostgreSQL zu starten, aber es hat nicht gut gestartet, daher ist es ein Memorandum bis zur Fehlerbehebung.
Terminal
docker-compose up -d workspace php-fpm nginx postgres
Es ist eine Option nach dem Aufstehen, aber die am Ende angehängten Postgres werden diesmal die Geschichte sein
Wenn der Container erfolgreich gestartet wurde,
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
Es sollte so herauskommen, aber in meinem Fall
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
Es sieht aus wie das.
Vor ein paar Monaten fand ich heraus, dass es Postgres waren, die ich installiert hatte, als ich nicht viel mehr wusste als jetzt.
Zu dieser Zeit erinnerte ich mich an die Existenz von Postgres, die ich installiert hatte, ohne über irgendetwas nachzudenken, weil ich eine andere Datenbank als MySQL verwenden wollte, und als ich den Verbindungsstatus von pgadmin betrachtete, war die in diesem Fehlerinhalt angezeigte Portnummer 5432 verbunden. Es war in einem Zustand.
Diesmal war es ein Fehler, der beim Lernen eines bestimmten Unterrichtsmaterials auftrat. Als ich mich mit dem Ausbilder beraten habe, ・ Ports sind nicht verfügbar ・ Adresse bereits verwendet Warum suchen Sie nicht mit Stichwörtern? Ich habe den Rat bekommen, also
Ports sind nicht verfügbar → Ports sind nicht verfügbar bereits verwendete Adresse → Die Adresse wurde bereits verwendet Basierend auf der Interpretation der wörtlichen Übersetzung habe ich einen Hinweis gesucht und gefunden, der dies zu sein scheint.
Artikel, auf den ich mich beziehen durfte https://mebee.info/2020/04/20/post-7968/
Ist es möglich, den Prozess unter Verwendung der Portnummer 5432 basierend darauf abzubrechen? Ich dachte und hingerichtet sofort
Terminal
sudo lsof -i -P | grep 5432
pgAdmin4 2471 --------- 21u IPv6 --------- 0t0 TCP localhost:64447->localhost:5432 (CLOSE_WAIT)
* Kontonamen und Token sind ausgeblendet.
Jetzt, da wir wissen, dass die Prozessnummer 2471 war,
Terminal
kill 2471
Führen Sie den Befehl kill mit aus
Starten Sie den Container erneut
Terminal
docker-compose up -d workspace php-fpm nginx postgres
Ausgelassene Container, die bereits gestartet wurden
Starting 8d38216de390_laravel-sns_postgres_1 ... done
Ich konnte Postgres sicher starten.
Wenn ich darüber nachdenke, wurde ich daran erinnert, dass Postgres, das ich damals nur installiert und nie benutzt hatte, bereits mit dem Server verbunden war.
Ich kannte den Schrecken, dies selbst in einem unwissenden Zustand zu installieren, aber zu diesem Zeitpunkt kannte ich den Kill-Befehl überhaupt nicht und erfuhr, dass es einige Dinge gibt, die im Laufe der Zeit gelöst werden können.
Es ist keine große Sache, aber wenn sich auch nur eine Person in derselben Situation befindet, kann es für etwas nützlich sein.
Recommended Posts