2017-04-18 4 views
0

저는 일상적으로 사용하는 도구를 보관할 수있는 몇 개의 도커 컨테이너를 만들려고합니다. 그러나 내 도구 중 많은 부분은 데이터를 가져 오기 위해 Wi-Fi를 통해 기기에 연결할 수 있는지에 달려 있습니다.도커 컨테이너를 네트워크 장치에 연결하십시오.

저는 연구를 해왔으며이 시나리오를 지원하기 위해 수행해야 할 작업이 무엇인지 이해하기 위해 혼란 스럽습니다. 나는 일반적으로 도커 컨테이너가 서버가 아닌 클라이언트라는 것을 알고있다. 그러나 나는 그 반대의 사람들에 대해 읽었습니다.

나는 이것을하기 위해 어떤 종류의 변경/구성이 필요한지 알아 내려고합니다. 기본 고정 표시기으로

답변

1

docker0 인터페이스와 같은 물리적 서버에 가상 네트워크를 만들 것, 그 bridge 모드에 있으므로이 인터페이스 할 수있는 지역에 관련된 물리적 시스템 인터페이스 및 모든 세계뿐만 아니라입니다 귀하의 eth0을 통해 인터넷에 연결할 수 네트워크는 eth0 물리적 인터페이스를 통과합니다.

실행중인 도커 컨테이너 내부의 인터넷이나 로컬 네트워크에 액세스하려는 경우 docker 데몬을 시작하는 동안 실제 시스템 /etc/resolv.conf 파일 당 nameserver을 추가해야합니다. 물리적 시스템으로 액세스하는 모든 것이 도커 컨테이너로 액세스 할 수 있습니다.

도커 컨테이너를 시작하는 동안 포트를 노출해야하는 또 다른 사항은 eth0 인터페이스 덕분에 외부 도커 네트워크에서 데이터를 가져올 수 있습니다. 이 모든 구성은 iptables의 도움을 받아 자동으로 처리됩니다. 도커는 iptables rules을 추가하고 docker0의 트래픽은 eth0으로 전달하며 모든 서비스가 완벽하게 작동합니다.

docker run -it --name "$container_name" -d -h "$host_name" -p 9080:9080 -p 1522:1522 "$image_name" 

그래서 위의 경우 내 응용 프로그램이 네트워크에있는 다른 컴퓨터 및 응용 프로그램에서 호스팅되는 포트 1522oracle db에서 데이터를 당기고에서 완벽하게 작동합니다. -p 1522:1522에 의해 1522 물리적 컴퓨터와 실제 컴퓨터의 포트로 요청을 보내면 같은 호스트의 1522 포트에이 요청을 보내고 모든 통신이 이루어집니다.

희망적입니다.

감사합니다.

+0

나는 이것을 빨리 시험해 볼 것이다! – 165plo

+0

그래서 네임 서버에 혼란스러워합니다. Windows에서이 구성을위한 링크가 있습니까? 나는 docker 컨테이너에 연결된 호스트 컴퓨터에서 연결을 열어 보았습니다. 양방향입니까? – 165plo

+0

이 링크에서'dns opts'로 도커 설정을 할 수 있습니다 https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon –

관련 문제