出于各种各样的需要,你可能不得不给出一个可以进入到容器内部的remote shell,方便调试,临时配置,处理应急等事情。
docker提供了一个本地的命令docke exec -it container_id shell
如此你可以从本地切如到容器内部,但是上百台机器,总不能各个都上去给这么登录吧。应该弄一个类似堡垒机的东西。这样就牵扯到远程shell的东西了,或者就叫做远程终端也行。
目前我尝试了下面的办法:
1.vnc
vncserver部署简单,你可以不用安装x-windows之类的组件,只放一个xterm,然后启动服务,就可以在vnc的客户端上看到shell了,vncserver会监听9501端口,配置允许多个用户登录。
但是这玩意没有给出文件上传和下载的解决办法,网上资料上给出的据说高版本的可以解决这个问题。
2.tty.js
这是一个采用Nodejs做的一个webshell的玩意,使用上简介明了,部署配置简单,webshell确实非常简单,但是这里存在两个问题:
无法支持命令行的复制,粘贴,
需要额外开发oa验证
还需要开发文件上传和下载的组件。
我个人认为这个组件是最灵活,最具有活力的一个项目
3.gateone
这个玩意是用python做的ssh登录转发工具,也是webshell之类的工具,比tty,js重一些。不过功能也全一点。
4.最后还有一种就是最普通的ssh了,这个恐怕是最普通的一个了