我有一个Cloud Foundry Bosh Lite安装,在我的本地开发机器上运行了Garden/Runc 支持,并在其上托管了一个应用程序。我可以 ssh 进入 Diego cell 虚拟机并执行
cell_z1/0# runc exec 5f9c8b67-9170-4c53-4bab-bbb2e6a3acdf /usr/bin/printenv
这将产生以下输出:
INSTANCE_GUID=5f9c8b67-9170-4c53-4bab-bbb2e6a3acdf
INSTANCE_INDEX=0
CF_INSTANCE_GUID=5f9c8b67-9170-4c53-4bab-bbb2e6a3acdf
CF_INSTANCE_INDEX=0
LANG=en_US.UTF-8
CF_INSTANCE_CERT=/etc/cf-instance-credentials/instance.crt
CF_INSTANCE_KEY=/etc/cf-instance-credentials/instance.key
HOME=/root
我以为我可以通过调用Garden API来实现同样的目的
cell_z1/0# curl -X POST -d '{"path":"/usr/bin/printenv"}' localhost:7777/containers/5f9c8b67-9170-4c53-4bab-bbb2e6a3acdf/processes
但是,这将返回
{"Type":"","Message":"EOF","Handle":""}
不幸的是,这什么也没告诉我。我尝试添加"user":"vcap"
JSON 有效负载,但结果是相同的。当我添加时,-H "Content-Type: application/json" -d
我得到
curl: (56) Problem (2) in the Chunked-Encoded data
问题:如何通过 Garden API 在容器内执行任意命令并检索其输出?