【发布时间】:2015-10-20 09:03:21
【问题描述】:
我一直在谷歌搜索,但找不到任何答案。
可以连接到我刚刚启动的 virtualbox docker 容器。我有虚拟机的 IP,但如果我尝试通过 SSH 连接,当然要询问我的密码。
问候。
【问题讨论】:
标签: docker boot2docker docker-compose
我一直在谷歌搜索,但找不到任何答案。
可以连接到我刚刚启动的 virtualbox docker 容器。我有虚拟机的 IP,但如果我尝试通过 SSH 连接,当然要询问我的密码。
问候。
【问题讨论】:
标签: docker boot2docker docker-compose
见 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
这样 ping docker 就可以工作了。 作为一个 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 docker 会做出反应
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.
wf@docker's password:
但是在这里你连接的是 docker 机器而不是你的镜像! ssh 端口位于端口 22。您需要将其重定向到另一个端口并配置您的映像以支持 ssh 到 root 或有效用户。
【讨论】:
您是尝试连接到正在运行的容器还是尝试连接到运行 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,您可以看到所有正在运行的机器。
如果这没有帮助,您能否稍微澄清一下您的问题,并提供有关如何创建映像和启动容器的详细信息。
【讨论】:
您可以使用 ssh 密钥无密码访问。
【讨论】: