2016-07-20 2 views
0

SSH를 통해 액세스 할 수있는 우분투 컨테이너를 얻으려고 여기에 진짜 도커가 있습니다.도커 컨테이너에 SSH를 넣을 수 있습니까? 네트워크에 도달 할 수 없습니까?

내가 호스트에게 ssh를하고 VM 거기에 잘뿐만 아니라 같은 이미지를 실행하는 다른 컨테이너 수

docker build -t sshable ~/PATH/" and "docker run --name test -t sshable 

으로 실행 this dockerfile 건물 &를 사용하여 이미지를 사용하고 있습니다. 그러나 IP 주소가 IP 주소 인 호스트에서 ssh IP_ADDR을 시도하면 컨테이너의 eth0에서 "inet addr"으로 지정된 IP 주소 (ifconfig를 사용할 때)가 ssh: connect to host IP_ADDR port 22: Network is unreachable이 될 수 없습니다. 컨테이너에서 빠져 나올 수도 있지만 시간이 갈수록 빠져 나갈 수는 없습니다. 호스트가 브리지 네트워크에 연결되어 있지 않습니까? 그렇다면 어떻게해야합니까?

+0

게시물 제목에 "ssh"와 "docker"가 포함되어 있습니다. Docker 엔지니어가 작성한이 기사를 지적하고 싶습니다. _ [Docker 컨테이너에서 SSHD를 실행하는 경우 잘못하고 있습니다!] (https://jpetazzo.github.io/2014/06/23/docker-ssh-considered-evil /) _ – Auzias

답변

0

을이

$ docker run --name test -p 22:22 sshable 

시도하거나 또한 당신은 매핑 고정 표시기 포트를

$ docker run --name test sshable 
$ docker port sshable 22 
0.0.0.0:49154 

을 확인할 수 있습니다 그리고 당신은 (이 경우) 포트 49154에 컨테이너의 IP 주소에서 루트로 ssh를 수

$ ssh [email protected] -p 49154 
+0

이 작업을 수행했지만 여전히 네트워크에 도달 할 수 없다는 동일한 오류가 발생합니다. 그것이 "이미 사용 중"이라고 주장하기 때문에 호스트의 포트 22를 사용할 수 없습니다. 그래서 나는 49154 2222 등과 같은 다른 포트를 시도해 보았고 아무 쓸모없이 그들을 통해 ssh를 시도했습니다. 나는 또한 모든 포트를 노출시키면서 간단히 컨테이너에 ping을 시도했는데, 이는 또한 같은 이유로 실패합니다. xhyve의 네이티브 가상화를 사용하여 Mac El Capitan에서 직접 도커를 실행 중이며 가상 박스의 도커 기본 VM은 사용하지 않습니다. 버전 1.12.0-rc4-beta20 (빌드 : 10404) 실행 중. – 18AdrianoH

0

컨테이너를 실행할 때

docker run --name test -t sshable 

이 컨테이너는 포트 22를 노출하지만 호스트 시스템의 포트에는 연결하지 않습니다. 이것은 당신이

docker run -it ubuntu:14.04 

같은 다른 컨테이너를 시작하면 당신은 당신이 우분투 컨테이너에서 ssh를 할 수 있습니다 것을 의미한다. 그러나 VM 내부에서 Docker를 실행하는 경우 VM 외부에서 컨테이너로 ssh를 할 수 없습니다. 이를 위해 당신은 이제 ssh <vm-ip>를 사용하여이 용기에 ssh를 할 수 있습니다 그 VM

docker run --name test -p 22:22 sshable 

에 어떤 포트에 연결하는 사용자의 SSH 용기가 필요합니다.

+0

이 작업을 수행했지만 여전히 네트워크에 도달 할 수 없다는 동일한 오류가 발생합니다. 그것이 "이미 사용 중"이라고 주장하기 때문에 호스트의 포트 22를 사용할 수 없습니다. 그래서 나는 49154 2222 등과 같은 다른 포트를 시도해 보았고 아무 쓸모없이 그들을 통해 ssh를 시도했습니다. 나는 또한 모든 포트를 노출시키면서 간단히 컨테이너에 ping을 시도했는데, 이는 또한 같은 이유로 실패합니다. xhyve의 네이티브 가상화를 사용하여 Mac El Capitan에서 직접 도커를 실행 중이며 가상 박스의 도커 기본 VM은 사용하지 않습니다. 버전 1.12.0-rc4-beta20 (빌드 : 10404) 실행 중. – 18AdrianoH

+0

'docker ps'를 실행하여 호스트의 어떤 포트, 컨테이너가 연결되었는지 확인한 다음 해당 포트로 sshing을 시도 했습니까? – jff

+0

예. 있습니다. "PORTS"아래 0.0.0.0:49154-> 22/tcp. 나는 ssh [email protected]을 해냈다.0.2 -p 49154 (즉, 172 ...는 ip 임). 정확히 동일한 "네트워크에 도달 할 수 없음"오류가 발생합니다. – 18AdrianoH

관련 문제