본문 바로가기
Docker

[Docker] port is already in use 에러

by @developer.kye 2021. 12. 23.

docker start 컨테이너명 을 실행했는데

port 8080 is already in use 와 같은 에러가 나면

 

대부분의 경우 다른 프로세스에서 이 8080을 이미 쓰고 있는 경우이다.

 

netstat -lntp | grep 8080

해서 보이는 프로세스가 쓸모없는 경우 쉽게 kill -9 [pid] 로 해결하면 된다..

 


 

하지만 오늘의 경우 특이한 케이스였는데, (ㅠㅠ)

기존에 돌던 동일한 컨테이너가 제대로 종료되지 못해서, 포트를 잡고있는 경우였다..

발생 원인은 정확하게 파악할 수 없었으나, docker-proxy 설정에서 이미 선점된 상태의 /run/containerd/containerd.sock 을 재사용 하게 됨으로써 발생되는 현상으로 파악되었다.

 

더 공부해봐야겠지만, 다음처럼 진행하여 현상을 해결하였다.

1.  sudo systemctl status docker  로 포트를 선점하고 있는 프로세스 pid들을 확인한후 강제로 kill

2.  sudo systemctl stop docker

3. socket 파일 이동 (기존 것 사용못하도록)

$ cd ~
$ mkdir socket_backup
$ sudo mv /run/containerd/containerd.sock* ~/socket_backup/.

4. sudo systemctl start docker

'Docker' 카테고리의 다른 글

Docker no space left on device 대처  (0) 2023.03.06
Docker 개념 잡는데 유용한 사이트  (0) 2021.12.23
Docker 설정값 확인하는 명령어  (0) 2021.06.16
도커 내부 접속 명령어  (0) 2021.06.16
Ubuntu 20 Docker Mysql설치  (0) 2021.04.02