2015-01-15 3 views
1

나는 Docker를 처음 사용하기 시작했습니다. 어제 많은 설명서와 튜토리얼을 읽었지 만 연결된 컨테이너를 사용하여 외부 서비스를 대체하는 것에 대한 내용을 찾을 수 없습니다. 검색 할 용어가 확실하지 않습니다.Docker 컨테이너를 외부 서비스로 바꾸기

은 거기에 apache 컨테이너와 mysql에 대한 링크가 실행 된 apachemysql 컨테이너이며, 그 포트와 같은 액세스 할 수있는 말. 이제 컨테이너 인스턴스에서 실행되는 MySQL 대신 AWS RDS로 이동합니다. apache가 예상대로 계속 실행되도록 mysql 컨테이너를 어떻게 수정합니까? 명확하게하기 위해 이라는 별칭을 가진 컨테이너에 대한 링크를 사용하여 apache을 계속 실행하지만 mysql 컨테이너가 AWS로 전송 된 해당 포트의 트래픽을 처리합니다.

또는 MySQL 서비스를 실행하는 컨테이너가 있지만 그 컨테이너가 다른 호스트에있을 수 있습니다. 나는 내가 언급하고있는 패턴이 그 시나리오도 처리 할 수있을 것이라는 모호한 느낌을 가지고있다. 누구에게도 익숙한 소리입니까?

+1

https://docs.docker.com/articles/ambassador_pattern_linking/을 보셨습니까? – Andy

+0

대사 패턴, 예, 이것이 내가 찾고있는 것입니다. – rwilson04

답변

1

컨테이너가 다른 호스트에있는 경우 호스트에 직접 충돌하지 않고 컨테이너에 요청을 전달하는 3386 (또는 mysql을 실행중인 포트)으로 도커를 투명하게 보이지 않는 이유는 무엇입니까? 실제로 동일한 호스트에 있지 않으면 컨테이너를 연결하려는 어떤 이유도 생각할 수 없습니다. Docker는 투명성이 뛰어나므로 Docker를 사용하지 않고 컴퓨터에서 Docker의 서비스를 직접 실행하는 것처럼 클라이언트가 Docker의 서비스에 대해 다른 컴퓨터에서 서비스를 실행할 수 있습니다.

mysql 컨테이너가 RDS 또는 다른 호스트를 호출하는 경우에도 실제로 동일한 컨테이너에 두 컨테이너가 있어야하는 경우 mysql_client가 설치된 새로운 간단한 mysql 이미지를 만들 수 있어야합니다. 요청을 받아 RDS에 전달합니다.

관련 문제