참고 : https://stackoverflow.com/questions/39508018/docker-driver-failed-programming-external-connectivity-on-endpoint-webserver
도커에 컨터이너를 실행할려 보면은 다음과 같은 에러가 생길 때가 있다.
docker: Error response from daemon: driver failed programming external connectivity on endpoint portainer
이에 대한 해결 방법은 stackoverflow 에서 찾을 수 있었는데, run 할려는 이미지가 사용하는 포트번호가 이미 사용중이라는 오류이다.
그러나 실제로는 사용중인 포트가 아니라 도커가 가지고 있는 잘못된 캐시가 사용중인 포트라고 인식하고 있는 것 같다.
다음 명령어는 도커의 캐시를 삭제함으로써 작동을 복구하는 방법이다.
sudo service docker stop
sudo rm /var/lib/docker/network/files/local-kv.db
sudo service docker start
이와 같은 방법으로 정상적으로 도커의 이미지가 실행되는 것을 확인할 수 있다.
그러나 이와 같은 방법은 기존에 실행중이던 도커 컨테이너들에 대한 포트 정보가 다 사리지므로
기존의 컨테이너를 재시작해줄 필요가 있다.
다른 도커 컨테이너를 함께 사용하고 있을 땐 이 솔루션은 좋지 못합니다.
다른 컨테이너의 캐시 역시 모두 사라지므로 docker system prune 가 예정되어 있습니다.
아..심지어 이 방법은 해결 방법이 아닙니다.
https://a‑half-human-half-developer.tistory.com/18
이 쪽 게시글 참고해주시기 바랍니다.