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

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

慕妹3242003

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

偶然的你

添加命令是什么意思?一般你在宿主机上直接执行dockerexec-it容器名/容器IDbash就能拿到命令行了,或者如果你的基础镜像是alpine的话,把bash换成sh也可以拿到。bash本身就集成了常见常用的命令,一般不需要额外添加。或者说你想额外添加的话,应该去用包管理器。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript