[请益] 解析container stats与log

楼主: isolatorAY (Isolator_AY)   2022-08-07 18:07:58
最近在尝试透过php curl抓取docker remote api传出的JSON显示在自己的网页上,但是遇
上一些问题
我是利用docker composer同时启动两个container,分别是nginx 1.23与php 7.4-fpm
第一个问题是
ip/containers/$containerID/logs?stdout=true
在抓nginx的log可以看到一些资讯,但是从php容器得到的却是空字串
第二个问题是
ip/containers/$containerID/stats
直接丢浏览器网址栏是持续进行每秒更新一次的..呃..是叫streaming吗?
利用跟前面取得log、容器列表等等同样的curl处里方式却会直接得到一个空值字串,请问
这种要如何正常的解析呢?
另外就是有尝试利用网络上的JSON parser先解析直接丢浏览器得到的JSON 资料,发现除了
最开始的第一笔资料外,后续更新的都会在"precpu_stats"中包含了前一次的percpu_usage
,而网络上的JSON parser会将这里标记为语法错误
请问这种是不是用php json_decode()就会无法转换成阵列?
作者: zx4109 (阿仲)   2022-08-13 01:06:00
有 sample code 吗?所以有两个 API: log / stats ?然后你的意思是在 PHP 取不到 nginx 的 access log
楼主: isolatorAY (Isolator_AY)   2022-08-17 13:50:00
第一个问题解决了,只要URL后面加上detail=true就好第二个问题的程式大致上是这样$url=$ip."containers/$dockerID/stats";$ch=curl_init();curl_setopt()有四个参数,returntransfer=truetimeout=50url=$urlhttpheader contenttype,accept都是application/json$output=curl_exec($ch)var_dump($output)得到bool(false)

Links booklink

Contact Us: admin [ a t ] ucptt.com