我们正在学习 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?