[請益] 解析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