2016-10-30 3 views
1

저는 현재 도커 작성을 사용하여 (작성 외부에서 작성된) 일반적인 오류 로깅 서비스에 링크하려는 일련의 마이크로 서비스를 설정하고 있습니다.docker-compose를 공용 서비스에 연결하는 데 external_links를 사용하는 방법은 무엇입니까?

작성자가 errorHandling 서비스를 작성하고 있습니다. 내 응용 프로그램 내에서 호스트 이름 별명 ('ErrorHandler를')를 사용하고 있지만 연결된 얻이 수없는 것

version: '2' 
services: 
    my-service: 
    build: ../my-service 
    external_links: 
     - errorHandler 

:

docker run -d --name errorHandler 

는 그럼 난 (요약) 작성]을 실행합니다. 서비스가 작성 네트워크 내에서 발견되었는지 여부를 확인하려면 어떻게합니까?

답변

4

링크가 아닌 공유 도커 네트워크를 사용하십시오. Docker에서 "errorHandler"컨테이너를 docker network create errorNetdocker network connect errorNet errorHandler과 같은 것을 사용하여 네트워크에 배치합니다.

version: '2' 
networks: 
    errorNet: 
    external: true 

services: 
    my-service: 
    build: ../my-service 
    networks: 
    - errorNet 

이 함께 컨테이너를 연결하는 고정 표시기의 내부 DNS를 사용하여 다음에 "내 서비스"에 대한 귀하의 작성 파일에서 해당 네트워크를 정의합니다.

+0

아, 멋진 트릭. 사이드 노트로서, 나의 서비스 아래에서 나는 '- default'를 지정해야했다. 많은 도움을 주셨습니다. 어제 너무 오랜 시간을 보냈습니다. 궁금한 점이 있다면 외부 링크는 일반적으로 눈살을 찌푸리게됩니다. 나는 왜 내가 네트워크를 사용하여 항상 부탁을하지 않는지 생각하는 것 같다. – Tkwon123

+1

docker가 네트워크를 소개 한 후에 컨테이너를 연결하면 사용되지 않는 솔루션이되었다. 나는 그것을 사용할 필요가 없었다. – BMitch