从主机到 docker 容器的 SSH 服务



我们正在学习 docker,为了练习,我们必须从主机通过 SSH 连接到容器中。我在VMWare Workstation上运行Ubuntu服务器。我已经成功安装了SSH,并且该服务正在运行。我创建的容器在 Ubuntu 映像上运行。当我尝试使用 SSH 连接到容器时 #ssh root@ContainerIP,出现错误"连接被拒绝"。我该如何解决这个问题?

尝试以下命令。

docker ps

它将为您提供所有工作容器的列表。选择要在其中登录的相应容器并传递给以下命令

docker exec -it container bash

它会将您登录到容器中。

首先,您需要在要 ssh 进入的映像中安装 SSH 服务器。您可以对安装了 ssh 服务器的所有容器使用基础映像。然后,您只需使用 -p : 运行将 ssh 端口(默认为 22(映射到主机端口(映像中的远程服务器(的每个容器。即:

docker run -p 52022:22 container1    
docker run -p 53022:22 container2

然后,如果可以从外部访问主机的端口 52022和 53022,则可以使用主机(远程服务器(的 IP 直接 ssh 到容器,并在 ssh 中指定带有 -p 的端口。 即:

ssh -p 52022 myuser@RemoteServer --> SSH to container1
ssh -p 53022 myuser@RemoteServer --> SSH to container2

我认为这篇文章会有很大帮助:如何通过SSH连接到Docker?

最新更新