"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 내 Go 앱이 Docker 컨테이너에서 실행될 때 "Recv failure: Connection Reset by Peer"가 나타나는 이유는 무엇입니까?

내 Go 앱이 Docker 컨테이너에서 실행될 때 "Recv failure: Connection Reset by Peer"가 나타나는 이유는 무엇입니까?

2024년 12월 23일에 게시됨
검색:112

Why Does My Go App Get

Docker 포트 노출 문제: "Recv failure: Connection Reset by Peer" 해결

Docker 내에서 Go 앱 바이너리 실행을 시도할 때 컨테이너를 사용하면 앱이 외부 연결을 수신하지 못하는 문제가 발생할 수 있습니다. 이 오류는 컬 명령을 호출할 때 "Recv failure: Connection Reset by Peer"로 나타납니다.

이 문제의 원인은 컨테이너의 네트워크 구성에 있습니다. 앱이 컨테이너 내에서 실행될 때 일반적으로 다음 명령이 사용됩니다:

http.ListenAndServe("localhost:8081", nil)

그러나 이 구성은 연결 설정만 허용합니다. 컨테이너 자체 내에서. 이 문제를 해결하고 앱에 대한 외부 액세스를 활성화하려면 명령을 다음과 같이 수정해야 합니다.

http.ListenAndServe(":8081", nil)

"localhost" 접두사를 생략하여, 앱은 컨테이너 내부와 외부 모두에서 발생하는 연결에 대해 자체적으로 열립니다. 이 수정을 통해 앱이 Docker 환경에서 실행될 때 앱과의 적절한 외부 통신이 가능해졌습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3