2015-01-28 2 views
2

Docker 컨테이너를 실행할 때 컨테이너가 수신 대기중인 (TCP) 포트에서만 호스트와 통신 할 수 있도록 컨테이너 네트워크를 설정하고 싶습니다 . 컨테이너가 인터넷 또는 같은 호스트에서 실행중인 다른 컨테이너 나 호스트가 연결된 네트워크에 액세스하는 것을 원하지 않습니다. VMWare와 같은 VM을 실행하고 있다면 위의 VM 호스트와 위에서 설명한 속성을 사용하는 개인 네트워크를 만드는 "호스트 전용"네트워킹 옵션을 선택합니다.Docker 컨테이너 용 호스트 전용 네트워크

Docker의 --net=none을 사용 해본 결과 내 목표를 달성하기 위해 네트워크를 구성하기 위해 어떤 방향으로 나아갈 지 알 수 없습니다. TAP는/TUN 갈 방법이있을 것 같다,하지만

답변

1

잠재적 부분적인 대답은 좀 방향을 감사하겠습니다 : 대신 TCP의 응용 프로그램과 통신 할 수 유닉스 소켓을 사용하는 경우

, 당신은 사용할 수 있습니다

docker run -net=none -v /host-path/socket.sock:/container-path/socket.sock 

컨테이너와 네트워크간에 네트워킹을 허용하지 않고 컨테이너와 호스트 소켓 간의 직접 통신을 제공합니다.

1

--internal 네트워크를 생성하고 그 안에 컨테이너를 실행할 수 있습니다.

네트워크를 만들기
docker run --network hostonly ...

:
docker network create -d bridge --internal hostonly

는 컨테이너를 실행

관련 문제