You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1002 B
39 lines
1002 B
<?php |
|
exec("docker images -aq", $res, $ret); |
|
if ($ret!=0) { |
|
echo 'digraph {'; |
|
echo ' A [label="Error\nCannot get Docker Images"];'; |
|
echo ' B [label="Does the Webserver have Docker rights?"];'; |
|
echo ' A->B [label="Probable\nCause"];'; |
|
echo '}'; |
|
return; |
|
} |
|
exec("docker inspect ".join(" ", $res), $res2, $ret); |
|
if ($ret==0) { |
|
$images=json_decode(join($res2), true); |
|
echo "digraph {\n"; |
|
echo " rankdir=TB;\n"; |
|
|
|
foreach ($images as $i) { |
|
$name = ""; |
|
if (isset($i['RepoTags']) && count($i['RepoTags'])>0) { |
|
$name = join("\\n", $i['RepoTags']); |
|
if (isset($i['Author']) && $i['Author']!="") $name .= '\\n['.$i['Author'].']'; |
|
} |
|
echo ' "'.$i['Id'].'" [label="'.$name.'"];'."\n"; |
|
} |
|
|
|
foreach ($images as $i) { |
|
if (isset($i['Parent']) && $i['Parent']!="") |
|
echo ' "'.$i['Parent'].'" -> "'.$i['Id'].'";'."\n"; |
|
} |
|
|
|
echo "}"; |
|
} else { |
|
echo 'digraph {'; |
|
echo ' A [label="Error\nCannot Inspect Docker Container"];'; |
|
echo '}'; |
|
return; |
|
} |
|
|
|
?>
|