[Docker] Error response from daemon: driver failed programming external connectivity on endpoint

    728x90

     

    갑자기 도커가 GPU를 인식하지 못해서 reboot를 시켰고, 도커 컨테이너를 실행하려고 하니 위와 같은 에러가 났다.

     

    위 에러는 컨테이너와 연결된 포트가 이미 할당되어 있다는 에러인데, 원인은 외부로 오픈하는 포트가 겹쳐서 컨테이너가 실행되지 않는다는 뜻이라고 한다. 컨테이너를 계속 생성하고 종료하고 그러는 과정에서 충돌이 생긴 것 같다.

     

    1. 해당 포트를 사용 중인 프로세스 찾아준다.

    lsof -i :PORT_NUMBER

     

    8003과 연결된 컨테이너를 찾아보니 두 개가 있다. PID 아래 있는 게 PID 번호이다.

     

    2. 해당 프로세스의 PID를 입력해서 kill 시킨다.

    kill -9 PID_NUMBER

     

    kill 시킨 후 1의 명령어로 다시 확인해보면 정리된다.

     

    근데 난 이 방법으로 안 됐다. 뭐 한 번에 늘 해결 안 되는게 인생 아니겠나 ,, (해탈함.. 오늘 현타 씨게 옴)

     

    sudo systemctl restart docker

     

    그래서 시스템의 도커 서비스를 재시작하는 명령어를 입력해주었다. 컨테이너는 이 과정에서 전부 종료된다. 다른 사람이 사용 중인지 잘 확인하고 해결하자.

     

    이후 컨테이너가 잘 실행되었다. 굿

     

    728x90

    댓글