sklass의 s-class 프로그래밍 blog

[docker] 로컬 컴퓨터에서 컨테이너간 api 호출을 하기 위한docker.for.mac 본문

docker

[docker] 로컬 컴퓨터에서 컨테이너간 api 호출을 하기 위한docker.for.mac

sklass 2021. 12. 17. 18:09

Docker container 내부에서 host (Mac) 에 실행중인 서비스에 api 호출하려면, Docker container 내부에서 host 인 Mac 으로 네트워크 통신을 하기 위한 특별한 DNS 이름인 docker.for.mac.localhost를 사용해야 합니다.

 

아래의 코드를 참고하세요.

@app.route("/api/order/<int:id>/deliver_finish", methods=["POST"])
def deliver_finish(id):
    req = requests.get("http://docker.for.mac.localhost:8000/api/order/" + str(id))

    return req.json()

위의 예제는 로컬 Mac에서 8001번 포트에서 Flask로 구동되는 한 서비스에서 8000번 포트에서 Django로 구동되는 서비스에 GET api 호출을 하는 코드입니다.