python连接远程执行机并访问docker容器,同时下载资源到本地

方法

  1. 导入paramiko库,paramiko是一个基于SSH用于连接远程服务器并执行相关操作的库
  2. 建立连接,在本地将命令传送给远程机,对指定docker容器进行操作
  3. 文件传输,关闭连接

  因为这两种都可是实现连接远程机,自己初学时网上的介绍一般都是把实现命令和文件传输分开介绍。在这里就不单独介绍这两种了,直接说一下建立简介后同时需要发送命令和文件操作的需求情况,有单独的需求可以查找其他博主的详细介绍

代码

  SSHClient是传统的连接服务器、执行命令、关闭的一个操作,而transport 方式登录后可以实现文件等操作,这里的方法就是把paramiko.Transport创建的连接赋给SSHClient连接对象ssh,使得ssh可以同时发送命令和文件操作。
  docker操作:需要熟悉docker命令,比如
  docker ps # 列出docker容器
  docker exec # 进入容器,可通过容器id和容器名称进入
  注意使用docker exec进入容器时要考虑工作目录切换问题,一般接上‘-it’参数后在命令行可以进入docker继续输入命令,然而使用ssh.exec_command发送docker exec -it会报错,因为此时并不需要可交互的方式,可去掉-it参数
  在这里需要继续进入目录和下载,去掉-it参数同时也无法继续操作 (更正:通过添加"get_pty=True"参数的方式也可以):
ssh.exec_command('docker exec -it {

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值