一个小的方便的命令来交互处理远程运行的容器。

ssh-docker的Python项目详细描述


用于通过ssh远程连接到docker容器的交互式shell。

assets/howitworks.gif

这主要是为了帮助处理ecs中容器的名称,但是可以在任何地方使用。

安装

$ pip install ssh-docker

用法

$ ssh-docker <hostname>

这将打开一个交互式shell(类似于supervisor的工作方式),允许您直接在主机内的容器上查询/执行操作。

然后,您可以通过以下方式列出主机上运行的所有容器:

> list

连接到容器就像使用connect命令一样简单。

> connect

这将列出主机上所有可用的容器,然后您可以通过输入容器的编号来选择连接到特定的容器。

如果您已经知道容器的名称,也可以在命令中指定。

> connect name_of_container

默认情况下,连接时它将尝试运行bash shell,如果需要,可以每次运行(或通过ssh_docker_shell环境变量进行全局更改):

> connect name_of_container /bin/ash

连接到容器还将打印出连接所需的ssh命令,以便您可以与不运行ssh docker的人共享该命令。

运行任意docker命令

您可能需要在连接到的服务器上运行任何可用的docker命令。您可以通过docker命令来执行此操作:

> docker [command]

其他提示

主机名自动完成

如果第一次尝试连接到主机名失败,它将尝试从ssh配置中找到类似的主机名并向您提出建议。

自动完成

如果要在zsh中启用自动完成功能,可以将以下内容添加到~/.zshrc文件中:

eval "$(_SSH_DOCKER_COMPLETE=source_zsh ssh-docker)"

通过输入ssh-docker [TAB],您将能够循环查看ssh配置文件中的所有主机名。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中使用Kotlin值类   在Hadoop中表示大文本块作为键的java   java安卓工作室;布局设计视图;   字典Java确定字符串是否以映射中的键开头   JavaG1:混合gc和完全gc之间有什么区别?   java Camunda升级组织。阿帕奇。平民语言错误   java Scanner类具有NextLine无限循环   安卓 GCM Java服务器:发送带有重音字符的消息   java我正在构建一个兴趣计算应用程序,我的项目构建良好,有1个警告,但它不会在我的设备上打开   java在Tilera TileGX上构建OpenJDK 8   GUI中的java惰性初始化与急切初始化   java JodaTime四舍五入到最近的一刻钟   java如何限制菜单。SpringRoo中的jspx可以避免对其他用户的实体执行CRUD操作   java我应该将缓冲流链接到输入流,还是在将声音库作为嵌入式资源加载时使用URL类?