Windows 7에서 Vagrant VM을 실행하고 있습니다. Vagrant VM은 도커 컨테이너를 실행 중입니다. 따라서 구성은 다음과 같습니다.
Windows7[Vagrant[Docker]]
Windows에서 Docker 컨테이너로 ssh하고 싶습니다.
도커 컨테이너는 sshd를 실행 중이며 Vagrant VM에서 Docker 컨테이너로 성공적으로 ssh 할 수 있습니다.
sudo docker ps
제공합니다 :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
64b13daab5f2 ubuntu:12.04 "/bin/bash" 14 minutes ago Up 14 minutes 0.0.0.0:49153->22/tcp thirsty_morse
Vagrant VM에서 :
ssh root@localhost -p 49153
잘 작동합니다. 따라서 Vagrant VM의 포트 49153은 Docker 컨테이너의 포트 22로 전달됩니다.
나는 추가했다
config.vm.network "forwarded_port", guest:49153, host:49155
Windows의 localhost : 49155가 Vagrant VM : 49153으로 전달되도록 Vagrantfile에
이것은 일이 무너지는 곳입니다. Windows에서 localhost : 49155로 ssh하려고하면 다음과 같은 결과가 나타납니다.
ssh: connect to host localhost port 49155: Connection refused
따라서 Windows : 49155-> Vagrant : 49153이 작동하지 않습니다. Vagrant VM의 외부 IP에서 포트를 수신하는 것과 관련된 문제 일 수 있다고 생각하여 Vagrant VM에 rinetd를 설치하고 다음을 수행했습니다.
bindadress bindport connectaddress connectport
0.0.0.0 49153 127.0.0.1 49153
여전히 운이 없습니다. 내가 여기서 무엇을 놓치고 있습니까?
네, 제 질문에 답하겠습니다. 이제 작동합니다. 문제의 가장 가능성있는 이유는 포트 49153/55와 그 이웃이 실제로 기본적으로 일부 Windows 서비스에서 사용된다는 것입니다. Windows 용 9090을 사용하도록 Vagrant 파일의 포트 매핑으로 변경했으며 모든 것이 작동했습니다. 리네 팅 할 필요도 없습니다. 나는 또한했다 :
sudo docker run -v /vagrant:/opt/data -p 0.0.0.0:49153:22 -i -t ubuntu:12.04
0.0.0.0에 유의하십시오. 관련성이있을 수도 있고 아닐 수도 있지만이 구성은 저에게 적합합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다