我想通過PHP curl請求管理碼頭。 (使用Ubuntu 15.10)如何啓用碼頭API通過http訪問
我遵循API文檔,但它有點混亂,也遵循幾個在線教程,但沒有運氣。
這是我迄今所做的, 停止碼頭工人守護進程並添加
script
/usr/bin/docker -H tcp://127.0.0.1:4243 -d
end script
到
/etc/init/docker.conf
碼頭工人守護進程開始
這是我的PHP腳本
function post_to_url($url, $data, $headers) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10); //timeout in seconds
curl_setopt($ch, CURLOPT_URL, $url);
if ($headers != '') {
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
curl_setopt($ch, CURLOPT_POST, 1);
if ($data != '') {
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$return = curl_exec($ch);
if ($return == '') {
return curl_getinfo($ch, CURLINFO_HTTP_CODE);
} else {
return $return;
}
curl_close($ch);
}
//Sample API request
echo post_to_url('http://127.0.0.1:4243/containers/json', '', '');
但我不能通過CURL請求獲得任何輸出?
我在這裏錯過了什麼?
在最後一行,'loclhost'應該可能是'localhost'? :) – morphatic
@morphatic不,這不是問題。我在Docker文檔中使用127.0.0.1 –
嘗試過,我沒有看到任何提到已經添加到'docker.conf'文件腳本中的'-d'標誌。也許你的意思是'-D'。使用錯誤的標誌可能會阻止docker正常啓動。 – morphatic