一个小的方便的命令来交互处理远程运行的容器。
ssh-docker的Python项目详细描述
用于通过ssh远程连接到docker容器的交互式shell。
这主要是为了帮助处理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配置文件中的所有主机名。