Als ich versuchte, durch Aktualisieren der Middleware eine Verbindung zu einer neuen Version von DB herzustellen, wurde der Port von dem in der vorherigen Version erstellten Container belegt, und ich konnte keine Verbindung zu MySQL herstellen.
WARNING: Image for service hoge was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
Recreating hoge_mysql ... done
Creating hoge_apache_php74 ...
Creating hoge_apache_php74 ... error
ERROR: for hoge_apache_php74 Cannot start service web74: driver failed programming external connectivity on endpoint hoge_apache_php74 (f9dfceb538d7f688ad0d26269810a7d889): Bind for 0.0.0.0:8081 failed: port is already allocated
ERROR: for web74 Cannot start service web74: driver failed programming external connectivity on endpoint hoge_apache_php74 (f9dfceb538d7f841d4b2a7d26269810a7d889): Bind for 0.0.0.0:8081 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.
Bind for 0.0.0.0:8081 failed: port is already allocated
Die Fehlermeldung besagt, dass der Port bereits zugewiesen wurde. Sie können den Port des neuen Containers ändern, aber da er im Projekt vereinheitlicht ist, berühren Sie die Docker-Datei nicht Ich habe beschlossen, den vorhandenen Container zu löschen und ihn mit einem sauberen Zustand neu zu erstellen.
docker % docker ps -a //Liste der Container, auch wenn gestoppt
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d13d68d47e2c docker_web74 "/sbin/init" About an hour ago Created hoge_apache_php74
bb1e84be87ce docker_mysql "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp hoge_mysql
5a06cd43f761 docker_web "apache2-foreground" 2 hours ago Up 2 hours 0.0.0.0:8081->80/tcp hoge_apache_php
docker % docker-compose top //docker-Prozessbestätigung des von compose erstellten Betriebscontainers
hoge_mysql
PID USER TIME COMMAND
----------------------------
2889 999 1:56 mysqld
docker % docker-compose stop //docker-Stoppen von Diensten, die mit compose erstellt wurden
Stopping hoge_mysql ... done
docker % docker-compose kill //docker-Erzwungener Stopp des durch Compose erstellten Containers
docker % docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d13d68d47e2c docker_web74 "/sbin/init" About an hour ago Created hoge_apache_php74
bb1e84be87ce docker_mysql "docker-entrypoint.s…" About an hour ago Exited (0) 2 minutes ago hoge_mysql
5a06cd43f761 docker_web "apache2-foreground" 2 hours ago Up 2 hours 0.0.0.0:8081->80/tcp hoge_apache_php
docker % docker-compose down //docker-Stoppen Sie den durch Verfassen erstellten Container und löschen Sie den Container und das Netzwerk
WARNING: Found orphan containers (hoge_apache_php) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
Removing hoge_apache_php74 ... done
Removing hoge_mysql ... done
Removing network docker_default
ERROR: error while removing network: network docker_default id 46a29f96ef988d2366e0af50d1eb18690bff5db87e7b7cacee8e91d07097702e has active endpoints
docker % docker-compose top //docker-Stellen Sie sicher, dass mit compose keine laufenden Container erstellt wurden
docker % docker-compose ps -a
Name Command State Ports
------------------------------
docker % docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5a06cd43f761 docker_web "apache2-foreground" 2 hours ago Up 2 hours 0.0.0.0:8081->80/tcp hoge_apache_php
docker % docker ps -aq | xargs docker rm //Löschen Sie alle Container
Error response from daemon: You cannot remove a running container //Es können nicht alle gelöscht werden, wenn ein Container 5a06cd43f76166e8dc9c3517c3f6d8aeda7315f134b4d35865d893e85fa8ac79 ausgeführt wird. Stop the container before attempting removal or force remove
docker % docker stop 5a06cd43f761 //Stoppen Sie den Betrieb des Containers
5a06cd43f761
docker % docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5a06cd43f761 docker_web "apache2-foreground" 2 hours ago Exited (0) 4 seconds ago hoge_apache_php
docker % docker ps -aq |xargs docker rm ...//Löschen Sie alle Container erneut
5a06cd43f761
docker % docker ps -a //Stellen Sie sicher, dass alle Container gelöscht wurden
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
docker % docker-compose up //Nach dem Bau
Der von Docker-Compose erstellte Container wurde durch die Befehle stop, down und kill gestoppt, und der Container und das Netzwerk wurden gelöscht. Und für Container, die Docker-Compose nicht verwenden Wenn ich mit Docker ps -a nachgesehen habe und es ausgeführt wurde, habe ich es mit Docker Stop {Docker ID} gestoppt. Schließlich wurde Docker ps -aq | xargs Docker rm verwendet, um alle Container zu löschen und sie vollständig leer zu lassen. Als ich versuchte, den Status des Containers mit Docker ps -a und Docker-compose ps -a zu überprüfen, blieb der Container erhalten und das Netzwerk wurde nicht getrennt, sodass ich Stop and Kill ziemlich beharrlich ausführte. Wenn Sie den gewünschten Befehl nicht ausführen können, sollten Sie den Status des Containers häufig überprüfen und den Befehl ausführen.
https://qiita.com/etaroid/items/88ec3a0e2d80d7cdf87a https://qiita.com/nimusukeroku/items/72bc48a8569a954c7aa2 https://qiita.com/tettsu__/items/302a11fe848dc8fe1f55
Recommended Posts