用PuTTY连接现有docker集装箱最简单的方法

我经常遇到这种情况:

  • 我有一个现有的docker集装箱,运行一定的服务,通常基于Ubuntu的Github等Dockerfile设置
  • 我能够运行这个容器内的命令(通过docker exec或通过设置入口点),包括sh
  • vinanoaptitudemc这样的交互式命令不起作用,因为Docker Toolbox的错误terminal – 从有缺陷的箭头键到乱码字符到简单的崩溃都有错误。

现在的问题是:我可以在我的容器中运行任何东西,以连接到一个具有适当的terminal机器? 例如,我可以SSH进入docker主机,所以也许我可以运行的东西,容器可以连接到?

我尝试了mosh,但似乎mosh客户端本身并不运行shell,而是尝试转发到容器没有的sshd。

Docker用于创build轻量级容器,可以使用尽可能less的资源运行服务。 此外,docker不限制你想运行什么代码,应用程序或实用程序。 话虽如此,如果您尝试通过ssh连接到其他linux服务器的容器,则需要确保docker实例包含并正在运行诸如openssh-server之类的ssh服务器,并且要公开端口,通常是端口22,当你执行'docker运行'命令。