【오류 해결】 스프링을 docker로 환경 구축하려고 할 때 발생
3807 단어 도커spring-bootFlyway
목적
오류 발생.
Docker로 개발 환경을 구축했을 때에 만났다.
오류 문장과 해결책을 기억하십시오.
결론
이전에 만든 컨테이너는 프로젝트가 아닌 명령으로 삭제하지 않으면 사라지지 않는 것으로 나타났습니다.
포트 번호에서 오류가 발생한 원인은 확실하지 않습니다.
상황
java의 spring을 docker로 환경 구축을 시도했을 때 발생했습니다.
Flyway를 마이그레이션 도구로 넣었습니다.
【환경 구축】
$ 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 →何も表示されない
오류
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
해설
Found orphan containers
같은 프로젝트에 이미 컨테이너가 있어요.
이전에 개인으로 만든 컨테이너가 남아있는 것 같습니다.
Docker에서의 개발 처음이므로 공부가 됩니다.
docker-compose up -d
이 실행되지 않는 원인인 것 같습니다.오류에 따라 명령을 실행합니다.
$ docker-compose up -d --remove-orphans
【해결책】
docker-compose.yml
version: '3.7'
services:
db:
image: mysql:8.0.20
ports:
- "3307:3306"
그 후
$ docker-compose up -d
Recreating vi_bank_db_1 ... done
$ docker-compose exec db mysql -u docker -p
パスワード入力→成功
mysql>
발생한 오류
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
#何も表示されない
$ docker-compose up -d
Recreating vi_bank_db_1 ... done
업데이트 201108
오류 해결
Gradle의 자바 버전이 설정되지 않았습니다.
참고한 기사(항상 감사합니다)
Docker에서 MySQL 사용 [docker container run 옵션]
Error starting userland proxy: listen tcp0.0.0.0:3306: bind: address already in use
Reference
이 문제에 관하여(【오류 해결】 스프링을 docker로 환경 구축하려고 할 때 발생), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/m_masashi/items/81d942fbdbee53b33720텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)