连接 docker 个容器

Connect docker container

我一直在寻找 google 但我找不到任何答案。

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

此致。

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

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

https://github.com/BITPlan/docker-Whosebuganswers/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 或有效用户。

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

您是在尝试连接到 运行 容器还是在尝试连接到 virtualbox 图像 运行 docker 守护进程?

如果是第一个,你不能只通过 SSH 进入一个 运行 容器,除非那个容器是 运行 一个 ssh 守护进程。将 shell 放入 运行 容器的最简单方法是使用 docker exec -ti <container name/id> /bin/sh。执行 docker ps 以查看 运行 个容器。

如果是第二种,如果你的主机是用 docker-machine 创建的,那么你可以用 docker-machine ssh <machine name> ssh 进入它。您可以看到所有 运行 台机器 docker-machine ls.

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