flask에서 redis + celery를 통해 ML 서버에 request 보내는 작업을 하고 있던 도중, 제목과 같은 에러를 접하게 되었다.
필자는 docker-compose를 통해 flask, redis, celery를 하나로 묶어 queue 서버를 만들고 있었던 것이다.
docker-compose로 묶은 queue 서버에서 ML 서버로 보내는 요청은 로컬 서버라 localhost로 요청을 보냈다.
docker에서 localhost로 request를 보내면 제목과 같은 httpconnection 에러가 뜨는 것이다.
도커는 host.docker.internal
로 요청을 보내야 제대로 http request를 보낼 수 있다.
res = requests.post('http://host.docker.internal:5888/siamese', files=images).json()