[Docker] 컨테이너와 호스트 머신 간 통신하는 방법 한 번에 정리하기
·
Docker
컨테이너와 호스트 머신 간 통신 시 생기는 문제우리가 로컬에서 여러 애플리케이션을 실행하면, 해당 애플리케이션들과 통신하기 위해 localhost를 사용한다. 하지만, 컨테이너 위에서 실행되는 애플리케이션은 격리된 네트워크망 내부에 있기 때문에 localhost를 사용하면 호스트 머신에서 실행되는 애플리케이션과 통신하지 못한다. 호스트 머신에서 실행 중인 웹 애플리케이션과 Mongo DB의 통신을 생각해보자. Mongo DB가 27017번 포트를 점유해 실행된다고 할 때, 웹 애플리케이션에서 Mongo DB에 접속하기 위해서는 다음 주소를 사용하면 된다.mongodb://localhost:27017/[데이터 베이스 이름] 하지만 컨테이너 위에서 실행 중인 웹 애플리케이션과 호스트 머신에서 실행 중인 Mo..
[Docker] docker network 사용해 컨테이너 간 통신하는 방법 완벽 정리
·
Docker
컨테이너간 통신컨테이너는 외부 애플리케이션 혹은 호스트 머신과는 자유롭게 통신할 수 있지만, 컨테이너 간에는 기본적으로 서로 통신할 수 없다. 컨테이너끼리 통신할 수 있도록 하기 위해서는 컨테이너 내부에 네트워크를 만든 후 통신할 컨테이너들이 같은 네트워크에 속해 있도록 해야 한다. 지금부터 이 방법을 알아보자. Docker의 네트워크 드라이버 종류와 bridge 드라이버Docker는 다양한 네트워크 드라이버를 지원한다. 대표적으로 bridge, host, none 드라이버가 있으며 이 외에도 overlay, macvlan 같은 드라이버가 있다. 하지만, 대부분의 경우는 bridge를 사용해 통신하며 이곳에서는 bridge 드라이버를 사용하는 방법에 대해 다룬다.bridge 드라이버는 Docker의 기본..
Coroutines와 Channels 튜토리얼 - 2. Blocking Requests
·
공식 문서 번역/Coroutines 공식 문서
Blocking 요청들 GitHub에 HTTP 요청을 하기 위해 Retrofit 라이브러리를 사용할 것이다. 주어진 조직에 속한 저장소 목록과 각 저장소의 기여자 목록을 요청할 수 있다. interface GitHubService { @GET("orgs/{org}/repos?per_page=100") fun getOrgReposCall( @Path("org") org: String ): Call @GET("repos/{owner}/{repo}/contributors?per_page=100") fun getRepoContributorsCall( @Path("owner") owner: String, @Path("repo") repo: String ): Call } 이 API는 주어진 조직의 기여자 목록을 가..