도커(Docker) 강제 종료로 인한 Port 충돌 해결 방법
1️⃣ 현재 사용 중인 포트 확인하기
🔍 Docker Compose에서 사용하는 포트 목록
- 아래 명령어로 현재 사용 중인 포트 리스트를 확인합니다. (아래 명령어 중에서 아무거나 선택해서 사용하시면 됩니다.)
sudo netstat -tulnp | grep LISTEN
sudo lsof -i -P -n | grep LISTEN
- 출력 예시
docker-pr 12345 root 4u IPv4 5473531 0t0 TCP *:1234 (LISTEN)
docker-pr 15468 root 4u IPv6 5473536 0t0 TCP *:1234 (LISTEN)
- 위 예시처럼 1234 포트가 점유됨을 확인할 수 있습니다.
🔍 특정 포트 확인 명령어
- 포트별 프로세스 ID (PID)를 찾으려면
sudo lsof -i :<포트번호>
- 예제
sudo lsof -i :1234
- 출력 예시
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 12345 root 4u IPv4 5473531 0t0 TCP *:1234 (LISTEN)
- 위 예제처럼 PID가 12345인 프로세스가 1234 포트를 점유하고 있습니다.
2️⃣ 점유된 포트의 프로세스 종료
📌 특정 PID 종료하기
- 위 예제 PID를 종료하려면
sudo kill -9 12345
- 또는 한 번에 여러 개의 PID를 종료하려면 (띄어쓰기로 이어서 입력하시면 됩니다.)
📌 모든 점유된 포트 한 번에 종료
- 띄어쓰기로 PID를 이어서 입력하는 방법
sudo kill -9 12345 56789
- 또는 특정 포트들을 찾고 해당 PID를 종료하는 명령어
sudo lsof -t -i :1234 -i :5678 | xargs -r sudo kill -9
3️⃣ 실행 중인 Docker 컨테이너 정리 (필요 시)
📌 모든 실행 중인 컨테이너 종료
- Docker가 실행 중이라면 모든 컨테이너를 종료 후 삭제해야 합니다.
- 모든 실행 중인 컨테이너 종료는
sudo docker ps -q | xargs -r sudo docker stop
📌 모든 컨테이너 삭제
- 모든 Docker의 실행을 종료했다면 이제 모든 컨테이너를 삭제합니다.
- 모든 컨테이너 삭제는
sudo docker ps -q | xargs -r sudo docker stop
📌 Docker 서비스 완전히 중지
- 위 명령어를 입력하여 모든 컨테이너를 종료하고 삭제했습니다. 이제 도커 시스템을 종료하는 명령어로 Docker를 깔끔하게 정리하도록 합니다.
sudo systemctl stop docker
sudo systemctl stop docker.socket
4️⃣ Docker 다시 시작 및 Compose 실행 (3번 실행했을 경우)
📌 Docker 서비스 시작
- 아래 명령어를 통해 도커 시스템을 시작
sudo systemctl start docker
- 아래 명령어를 통해 도커 시스템이 시작되었는지 확인
sudo systemctl status docker
📌 Docker Compose 실행
- 포트가 정상적으로 해제되었는지 확인한 후 Docker compose를 실행 (도커 버전 1 명령어)
sudo docker-compose up -d
- 포트가 정상적으로 해제되었는지 확인한 후 Docker compose를 실행 (도커 버전 2 명령어)
sudo docker compose up -d
✅ 마무리
이제 Docker Compose가 정상적으로 실행되었을 것입니다.
다음과 같은 과정을 통해 포트 충돌 없이 Docker를 다시 실행할 수 있습니다.
- 현재 사용 중인 포트 확인하기
- 점유된 포트의 프로세스 종료
- 실행 중인 Docker 컨테이너 정리 (필요 시)
- Docker 다시 시작 및 Compose 실행 (3번 실행했을 경우)
'Technology > Docker' 카테고리의 다른 글
[Docker] - 도커(Docker) 개념 및 정의, 운영체제별 활용 방법 (0) | 2025.02.27 |
---|---|
[Docker] - 도커(Docker) 이미지 컨테이너 볼륨이란? (0) | 2025.02.27 |
[Docker] - Docker Compose란 (0) | 2024.04.10 |
[Docker] - Docker Prune 명령어 정리 (0) | 2024.04.08 |
[Docker] - Docker(도커)란? (0) | 2024.03.20 |