TroubleShooting

[Docker] Error response from daemon: driver failed programming external connectivity on endpoint vigorous_ganguly 오류 해결

아임다디 2022. 4. 15. 22:18

발생시기

docker compose up으로 도커 컨테이너를 실행할 때 발생하였던 오류

상황

백엔드 도커 이미지를 빌드하여 컨테이너로 실행하는 과정에서 Error response from daemon: driver failed programming external connectivity on endpoint vigorous_ganguly라는 에러와 함께 컨테이너가 실행되지 않았다.

원인

외부로 오픈하는 포트가 겹쳐서 컨테이너가 실행되지 않는 오류였다. 이전에 다른 컨테이너를 실행하다가 종료하는 과정에서 제대로 종료되지 않아 아직 그 포트에서 실행되어 발생하였다.

해결

해당 포트를 사용하고있는 프로세스를 kill 해주면 된다.

  1. 해당 포트를 점유하고 있는 프로세스를 찾아준다

    lsof -i :80 # 80 포트를 점유하고 있는 프로세스를 찾는다
  2. 해당 프로세스의 PID를 찾고 kill 명령어로 죽여준다

    kill -9 PID번호
    kill -9 10803 # PID가 10803인 프로세스를 죽인다
  3. docker compose up으로 컨테이너를 실행시켜준다

결론

driver failed programming external connectivity 에러가 발생하면 해당 포트를 점유하고 있는 다른 프로세스가 있다는 뜻!
lsofkill 명령으로 해당 포트를 사용할 수 있도록 해주자.