为了账号安全,请及时绑定邮箱和手机立即绑定

利用docker exec命令远程在容器中运行bash shell之后,如何继续向shell里添加其他命令?

利用docker exec命令远程在容器中运行bash shell之后,如何继续向shell里添加其他命令?

慕森王 2019-05-11 09:48:11
现在好多dockerui可以远程调用docker的rest接口操作容器,运用exec可以在运行容器的内部执行命令,假设我的以如下方式调用exec接口:POSThostid:port/containers/{id}/exec参数为:AttachStderr:trueAttachStdin:trueAttachStdout:trueCmd:["bash"]Tty:trueid:"xxxxxx"成功创建exec实例后,应如何进行后续操作以向bashshell中添加命令,如ls等?望路过的大佬不吝赐教~
查看完整描述

2 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

我不太明白容器内添加命令和前面的rpc接口有什么联系。
如果我要添加如ls这种命令,我会从HOST中找到这个可执行程序,比如我的是/usr/lib/klibc/ls
然后把这个文件复制到容器的rootfs中,复制方法搜索“容器与主机文件共享”
                            
查看完整回答
反对 回复 2019-05-11
?
偶然的你

TA贡献1841条经验 获得超3个赞

添加命令是什么意思?一般你在宿主机上直接执行dockerexec-it容器名/容器IDbash就能拿到命令行了,或者如果你的基础镜像是alpine的话,把bash换成sh也可以拿到。bash本身就集成了常见常用的命令,一般不需要额外添加。或者说你想额外添加的话,应该去用包管理器。
                            
查看完整回答
反对 回复 2019-05-11
  • 2 回答
  • 0 关注
  • 3033 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号