连接docker容器

时间:2015-10-20 09:03:21

标签: docker boot2docker docker-compose

我一直在寻找谷歌,但我找不到任何答案。

可以连接到我刚刚启动的虚拟机docker容器。我有虚拟机的IP,但如果我尝试通过SSH连接,请问我输入密码。

问候。

3 个答案:

答案 0 :(得分: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

这样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: 

但是在这里你连接的是泊坞机而不是你的形象! ssh端口位于端口22.您需要将其重定向到另一个端口并配置映像以支持ssh到root或有效用户。

参见例如https://docs.docker.com/examples/running_ssh_service/

答案 1 :(得分:2)

您是否尝试连接到正在运行的容器或尝试连接到运行docker守护程序的虚拟机映像?

如果是第一个,除非该容器正在运行ssh守护程序,否则不能只是SSH到正在运行的容器中。将shell放入正在运行的容器的最简单方法是使用docker exec -ti <container name/id> /bin/sh。执行docker ps查看正在运行的容器。

如果是第二个,如果您的主机是使用docker-machine创建的,那么您可以使用docker-machine ssh <machine name>进入主机。您可以看到所有人都使用docker-machine ls运行计算机。

如果这没有帮助,您可以稍微澄清一下您的问题并提供有关如何创建图像和启动容器的详细信息。

答案 2 :(得分:0)

您可以使用ssh密钥访问无密码。

这里有一些介绍 https://wiki.archlinux.org/index.php/SSH_keys