일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 윤성우의 열혈 자료구조
- Graph
- C 언어 코딩 도장
- 혼자 공부하는 C언어
- 이스케이프 문자
- s
- stream
- Serialization
- Selection Sorting
- Algorithm
- buffer
- insertion sort
- C programming
- 알기쉬운 알고리즘
- list 컬렉션
- JSON
- 이것이 자바다
- Stack
- 메모리구조
- datastructure
- R
- 윤성우 열혈자료구조
- coding test
- Today
- Total
Engineering Note
[Error Handling] 도커 포트 포워딩 오류 해결 본문
상황
도커 컨테이너를 호스트 컴퓨터의 포트로 포워딩해서 실행하려고 할 때 아래 같은 오류 발생
실행 명령어 및 에러메세지
실행 명령어
docker container run --detach --publish 8080:80 diamol/ch02-hello-diamol-web
에러 메세지
docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:8080 -> 0.0.0.0:0: listen tcp 0.0.0.0:8080: bind: address already in use.
에러 메세지 해석 및 분석
도커 컨테이너의 80포트를 호스트 컴퓨터 8080에 포워딩하려고하는데 8080포트가 이미 사용중이라는 에러메시지이다.
해결 과정
문제를 해결하기 위해서 현재 사용 중인 8080 포트를 프로세스를 확인을 했다.
lsof -i :8080
출력 결과
COMMAND PID NAME
java 12487 *:http-alt (LISTEN)
java 12487 localhost:http-alt->localhost:57054 (ESTABLISHED)
java 12487 localhost:http-alt->localhost:57055 (ESTABLISHED)
Google 16322 localhost:57054->localhost:http-alt (ESTABLISHED)
Google 16322 localhost:57055->localhost:http-alt (ESTABLISHED)
12487이라는 process id를 가진걸 확인했고, ps aux | grep 55545를 통해 프로세스 정보를 확인하니까 이전에 인텔리제이로 실행한적 있는 프로젝트가 인텔리제이 종료했는데도 프로세스가 살아있는걸 확인할 수 있었다.
com.summarizer.backend_springboot.BackendSpringbootApplication
kill -9 12487 를 통해 프로세스를 종료해서 해결했다.
'Error Handling' 카테고리의 다른 글
[Error Handling] Spring Security 로그인 테스트에서 userParameter 설정 이슈 해결 (0) | 2025.09.12 |
---|---|
[Error Handling] EC2에서 Spring Boot 빌드 오류 해결 (0) | 2025.09.05 |
[Error Handling] 에러 메시지의 구조, 그리고 ‘Caused by’ (1) | 2025.07.10 |
[Error Handling] git push 인증 오류 해결 (0) | 2025.06.30 |
[Error Handling] Lombok 오류 해결 (0) | 2025.06.25 |