2015-10-20 176 views
2

我一直在谷歌,但我找不到任何答案。連接碼頭集裝箱

可以連接到我剛剛啓動的virtualbox泊塢窗容器。我有虛擬機的IP,但如果我嘗試通過SSH連接,當然要求我輸入密碼。

問候。

回答

2

看到 https://github.com/BITPlan/docker-stackoverflowanswers/tree/master/33232371

重複步驟。

在我的Mac OS X機

docker-machine env default 

顯示

export DOCKER_HOST="tcp://192.168.99.100:2376" 

所以我增加了一個入口

192.168.99.100 docker 

我的/ etc/hosts文件

使平碼頭工作。 作爲Dockerfile我使用:

# Ubuntu image 
FROM ubuntu:14.04 

,我正與

docker build -t bitplan/sshtest:0.0.1 . 

建設與

docker run -it bitplan/sshtest:0.0.1 /bin/bash 

測試現在SSH泊塢窗將與反應

The authenticity of host 'docker (192.168.99.100)' can't be established. 
ECDSA key fingerprint is SHA256:osRuE6B8bCIGiL18uBBrtySH5+iGPkiHHiq5PZNfDmc. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'docker,192.168.99.100' (ECDSA) to the list of known hosts. 
[email protected]'s password: 

但在這裏你連接到碼頭機器而不是你的圖像! ssh端口位於端口22.您需要將其重定向到另一個端口並配置您的映像以支持ssh到root或有效用戶。

參見例如https://docs.docker.com/examples/running_ssh_service/

2

您是否嘗試連接到正在運行的容器或嘗試連接到運行docker守護程序的virtualbox映像?

如果第一個,你不能只是SSH進入一個正在運行的容器,除非該容器正在運行一個ssh守護進程。將shell放入正在運行的容器中的最簡單方法是使用docker exec -ti <container name/id> /bin/sh。執行docker ps以查看正在運行的容器。

如果第二個,如果你的主機是用docker-machine創建的,那麼你可以用docker-machine ssh <machine name> ssh進入它。你可以看到你所有的人都在跑docker-machine ls

如果這不起作用,您可以稍微澄清一下您的問題,並提供有關如何創建圖像和啓動容器的詳細信息。