2014-07-24 2 views
3

내 컴퓨터에 여러 NIC가 있으므로 외부에서 라우팅 할 수있는 IP 주소가 여러 개 있습니다. 내 응용 프로그램의 각 로컬 IP를 조회하고 그것을 전달하기 때문에Docker에서 호스트의 IP 주소를 내 컨테이너에 전달하는 방법

나는 용기를 시작할 때, 나는 용기의 가상 eth0를을 만들고 싶어이가 내 공개적으로 볼 수 IP 중 하나의 IP 주소는 이것은

를 해결 독점 프로토콜 밖에서 모든 iptables 트릭이 작동하지 않습니다.

어떻게해야합니까? 그것은 좋은 연습의 경우

+1

는 "쿼리 말 로컬 IP "를 사용하는 경우 시스템이 정확히 하나의 IP 주소를 갖거나 프로그램이 다른 시스템에 가장 적합한 IP 주소를 알고 있다고 가정하는 것입니다. 이들 중 어느 것도 안전한 가정은 아닙니다. IP 주소를 사용하려는 응용 프로그램에 전달할 수 없습니까? – Bryan

답변

0

는 잘 모르겠지만, 당신은 당신의 용기 시작할 때 당신은 --net 옵션을 전달할 수 있습니다

docker run --net=host ...

man docker run에서 :

--net="bridge" 

     Set the Network mode for the container 
    'bridge': creates a new network stack for the container on the docker bridge 
    'none': no networking for this container 
    'container:': reuses another container network stack 
    'host': use the host network stack inside the container. Note: the host mode gives the container full access to local system services such as D-bus and is therefore considered insecure.