[Fehlerbehebung] Tritt auf, wenn versucht wird, mit Docker eine Umgebung für den Frühling zu erstellen

Zweck

** Fehler ** </ font> ist aufgetreten. Ich bin darauf gestoßen, als ich mit Docker eine Entwicklungsumgebung erstellt habe. Stellen Sie sicher, dass Sie die Fehleranweisung und die Lösung angeben

Fazit

Es stellt sich heraus, dass der zuvor erstellte Container nur verschwindet, wenn er durch einen Befehl anstelle eines Projekts gelöscht wird Ich kannte die Ursache des Fehlers in der Portnummer nicht.

Status

Es trat auf, als versucht wurde, mit Docker eine Umgebung für Java Spring zu erstellen. Ich habe Flyway als Migrationstool aufgenommen.

** [Umgebungskonstruktion] ** </ font>

$ docker-compose up -d
Starting vi_bank_db_1 ... error
ERROR: for vi_bank_db_1  Cannot start service db: Ports are not available: listen tcp 0.0.0.0:3306: bind: address already in use
$ lsof -i :3306 → Es wird nichts angezeigt

** Fehler ** </ font>

ERROR: for db  Cannot start service db: Ports are not available: listen tcp 0.0.0.0:3306: bind: address already in use
ERROR: Encountered errors while bringing up the project.
$ docker-compose down
WARNING: Found orphan containers (vi_bank_flyway-repair_1, vi_bank_flyway-info_1, vi_bank_flyway-migrate_1, vi_bank_flyway-clean_1) 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 vi_bank_db_1 ... done
Removing network vi_bank_default
$ docker-compose up -d --remove-orphans
Creating network "vi_bank_default" with the default driver
Removing orphan container "vi_bank_flyway-migrate_1"
Removing orphan container "vi_bank_flyway-repair_1"
Removing orphan container "vi_bank_flyway-info_1"
Removing orphan container "vi_bank_flyway-clean_1"
Creating vi_bank_db_1 ... error

ERROR: for vi_bank_db_1  Cannot start service db: Ports are not available: listen tcp 0.0.0.0:3306: bind: address already in use

ERROR: for db  Cannot start service db: Ports are not available: listen tcp 0.0.0.0:3306: bind: address already in use

Erläuterung </ font>

Found orphan containers Beachten Sie, dass sich bereits Container im selben Projekt befinden. Es scheint, dass der Behälter, den ich vorher selbst gemacht habe, geblieben ist. Ich entwickle mich zum ersten Mal mit Docker, es wird also eine Lernerfahrung. Dies scheint der Grund zu sein, warum "Docker-Compose-Up" nicht ausgeführt wird. Führen Sie den Befehl entsprechend dem Fehler aus

$ docker-compose up -d --remove-orphans

** [Lösung] ** </ font>

  • Die Portnummer wurde von 3306 auf 3307 geändert

docker-compose.yml



version: '3.7'
services:
  db:
    image: mysql:8.0.20
    ports:
      - "3307:3306"

danach

$ docker-compose up -d
Recreating vi_bank_db_1 ... done
$ docker-compose exec db mysql -u docker -p
Passworteingabe → Erfolg
mysql>

** Fehler aufgetreten ** </ font> ERROR: for vi_bank_db_1 Cannot start service db: Ports are not available: listen tcp 0.0.0.0:3306: bind: address already in use

Ansatz

$ lsof -i :3306
#Es wird nichts angezeigt
$ docker-compose up -d
Recreating vi_bank_db_1 ... done

Update 201108

Fehlerbehebung </ font>

Die Java-Version von Gradle konnte nicht eingestellt werden.

image.png

Artikel referenziert (immer danke)

Verwenden von MySQL mit Docker [Docker-Container-Ausführungsoption]

Error starting userland proxy: listen tcp0.0.0.0:3306: bind: address already in use

Recommended Posts