2016-07-28 6 views
1

Ich habe diesen PHP-Skript (für den Docker Remote-API), die zum Stoppen einen Containers „aus der Ferne“ Ich bin mit:Wie PHP-Code zu schreiben, auszuführen zwei Funktionen

<?php 

$cid = trim(file_get_contents('cid')); 
echo "$cid\n"; 

function httpPost($url) 
{ 
    $ch = curl_init(); 

    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
    curl_setopt($ch,CURLOPT_POST, true); 

    $output=curl_exec($ch); 

    curl_close($ch); 
    return $output; 
} 

$url = "http://172.17.0.1:2375/containers/$cid/stop?t=5"; 
echo "$url\n"; 
echo httpPost($url) 

?> 

Es funktioniert! Aber ich würde gerne dieses Stück Code haben, um zwei Docker Container zu stoppen, anstatt nur einer.

Ich dachte an so etwas wie:

$cid = trim(file_get_contents('cid')); 
$pid = trim(file_get_contents('pid')); 

Dann, wie würde der Rest des Codes aussehen, so dass wir beide zu stoppen?

Antwort

0

Schalter dieser Teil:

$url = "http://172.17.0.1:2375/containers/$cid/stop?t=5"; 
echo "$url\n"; 
echo httpPost($url) 

Zu diesem

$url1 = "http://172.17.0.1:2375/containers/$cid/stop?t=5"; 
$url2 = "http://172.17.0.1:2375/containers/$pid/stop?t=5"; 

echo httpPost($url1); 
echo httpPost($url2); 

Das ist, wie Sie es basicly tun können. Dort können komplexere Strukturen erstellt werden.

+0

Oh, natürlich $ pid = trimmen (file_get_contents ('pid')); Wird benötigt. –

+0

Es scheint nicht zu funktionieren. Vielleicht weil diese Zeile: 'function httpPost ($ url)' und diese eine: 'curl_setopt ($ ch, CURLOPT_URL, $ url);' beziehen sich auf die vorherige $ url-Variable. Sollten wir diese Teile des Codes auch bearbeiten? – Tux

+0

Und ja, ich habe auch '$ pid = trim (file_get_contents ('pid')) hinzugefügt;' – Tux

Verwandte Themen