2016-08-25 6 views
5

우분투 터 스터를 사용하면 원격 시스템에서 실행중인 서비스가 있습니다.이 서비스는 localhost:9999에서 ssh 터널을 통해 포트 포워딩을 통해 액세스 할 수 있습니다.도커 컨테이너에서 호스트의 ssh 터널에 액세스합니다.

나는 도커 컨테이너를 실행 중입니다. 컨테이너 내에서 호스트의 터널을 통해 해당 원격 서비스에 액세스해야합니다.

컨테이너에서 호스트로 -L 9000:host-ip:9999으로 터널링을 시도한 다음 컨테이너 내에서 127.0.0.1:9000을 통해 서비스에 액세스하는 데 연결하지 못했습니다. 포트 매핑에 있었다 어떠했는지를 확인하려면, 심지어 용기에 nc -luv host-ip -p 9000 을 할 때, 나는 this, parag. 2을 다음 nc -luv -p 9999 # at host nc -luv -p 9000 # at container

을 시도하지만 인식 통신이 없었다

나는 또한 docker run -p 9999:9000를 통해 포트를 매핑했는데,이 보고서 호스트 포트가 이미 사용 중 (호스트 터널에서 원격 시스템으로)으로 바인드가 실패했음을 나타냅니다.

내 질문은

1 - 어떻게 연결하나요? 호스트에 대한 ssh 터널을 설정해야합니까, 아니면 도커 포트 매핑만으로이 작업을 수행 할 수 있습니까?

2 - 연결이 작동하는지 테스트하는 빠른 방법은 무엇입니까? 가급적이면 배쉬를 통해.

감사합니다.

답변

7

도커 실행시 --net=host을 추가하면됩니다. 이 질문도 참조하십시오 : Forward host port to docker container

+0

감사합니다. 이제 서비스에 연결할 수 있습니다. 연결이 실제로 힘든 지 확인하는 빠른 방법이 있습니까? – npit

+1

실제로 curl'curl {ip} : {port}/randomendpoint' 또는'ip {port}/randomendpoint'를 사용할 수 있습니다. –

관련 문제