gpt4 book ai didi

docker - 如何在 docker 中使用 httpie 和 jq?

转载 作者:行者123 更新时间:2023-12-02 18:19:36 29 4
gpt4 key购买 nike

如何在 docker 中使用 httpid 和 jq?

我只想在 json 结果中获取 ip,例如“34.10.12.40”

docker run -it --rm blacktop/httpie -b ifconfig.co/json
{
"country": "United States",
"country_eu": false,
"country_iso": "US",
"hostname": "lqwtx.com",
"ip": "34.10.12.40",
"ip_decimal": 39585,
"latitude": 35,
"longitude": 105
}

但是我尝试了一些方法但不起作用,例如打击。

docker run -it --rm blacktop/httpie ash -c "http -b ifconfig.co/json | jq '.ip’”

docker run -it --rm blacktop/httpie -b ifconfig.co/json jq '.ip'

最佳答案

这是你使用的镜像的dockerfile,见this :

FROM alpine:latest

RUN apk add --no-cache jq httpie

ENTRYPOINT [ "http" ]
CMD [ "--help" ]

从上面可以看到它设置了 entrypointhttp对于此图像,您在 docker run 中使用的所有命令将作为 http 的参数,所以你当然会失败。

接下来是您使用它的方法:
docker run -it --rm --entrypoint=/bin/sh blacktop/httpie -c "http -b ifconfig.co/json | jq '.ip'"

示例输出:
"92.121.64.197"

以上命令将覆盖默认 entrypoint/bin/sh ,那么您可以使用 jq解析 httpie 的输出在管道中。

关于docker - 如何在 docker 中使用 httpie 和 jq?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56452639/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com