2017-03-09 3 views
0

Docker에 배포 한 특정 응용 프로그램의 포트 ip & 포트를 (프로그래밍 방식으로) 찾아야합니다. 앱이 여러 노드에서 실행되고 확장 될 수 있습니다.프로그래밍 방식으로 도킹 컨테이너 ip/port 찾기

Docker API를 사용하여 컨테이너 ips와 포트를 찾는 방법이 있습니까?

+0

도커 추신, 파이프 그렙 이름, 파이프 절단 컨테이너 ID, 파이프 도커 검사 –

답변

0

는 IT 쉽게 가장 languages에서 관리 할 수 ​​있도록 Docker API 모든 작업에 대한 HTTP 엔드 포인트를 제공한다.

간단한 예제는 curljq을 명령 줄에 사용하고 있습니다.

당신은

$ curl -s --unix-socket /var/run/docker.sock \ 
    http:/v1.26/containers/json \ 
    | jq '.[] | .Id, .Ports' 

"b8249afa78bcc8027a38048384c7656a305a3c8d5a517d52df5a299223d8064d" 
[ 
    { 
    "IP": "0.0.0.0", 
    "PrivatePort": 3142, 
    "PublicPort": 3142, 
    "Type": "tcp" 
    } 
] 
"49125f8274242a5ae244ffbca121f354c620355186875617d43876bcde619732" 
[ 
    { 
    "IP": "0.0.0.0", 
    "PrivatePort": 4873, 
    "PublicPort": 4873, 
    "Type": "tcp" 
    } 
] 

특정 컨테이너의 포트 맵 정의의 목록을 검색합니다 모든 컨테이너 포트를 나열 할 수 있습니다

$ curl -s --unix-socket /var/run/docker.sock \ 
    http:/v1.26/containers/49125f8274242a5ae244ffbca121f354c620355186875617d43876bcde619732/json \ 
    | jq '.NetworkSettings | .Ports | keys' 

[ 
    "4873/tcp" 
] 
관련 문제