xantios / docker
PHP中的简单易用的Docker API客户端
dev-master
2018-03-04 12:27 UTC
Requires
- guzzlehttp/guzzle: ^6.3
This package is auto-updated.
Last update: 2024-09-19 21:44:33 UTC
README
关于
使用PHP连接到Docker有几种方法,但它们都不适合我的特定需求。所以,我就像任何开发者一样,自己编写了解决方案。
虽然受到Laravel的启发,但您不必在Laravel中使用它。它应该是框架无关的。
安装
composer require xantios/docker
使用
快速启动并运行
<?php use Xantios\Docker\Client; $client = new Client(); $all = $client->all(); // Gets all containers (as neat little objects) foreach($all as $container) { var_dump($container); // Have a peak in the container // You can also call some methods on the containers $ports = $container->ports(); var_dump($ports); }
一些美观的输出和更高级的使用示例
<?php use Xantios\Docker\Client; $client = new Client(); $containers = $client->all(); foreach ($containers as $container) { print "Name :: " . $container->name() . " \r\n"; print "Exposed :: \r\n"; foreach ($container->exposed() as $exposed) { print ' ' . $exposed['protocol'] . '/' . $exposed['port'] . "\r\n"; } print "\r\n"; print "Network :: \r\n"; print "IP: " . $container->ip() . "\r\n"; print "Mac: " . $container->mac() . "\r\n"; print "\r\n"; print "Portmap:: \r\n"; $ports = $container->ports(); foreach ($ports as $port) { print $port['container']['protocol'] . '/' . $port['container']['ip'] . ':' . $port['container']['port'] . ' => ' . $port['host']['protocol'] . '/' . $port['host']['ip'] . ':' . $port['host']['port'] . "\r\n"; } print "\r\n"; print "Env :: \r\n"; foreach ($container->env() as $k => $v) { print $k . ' ' . $v . "\r\n"; } print "\r\n"; print "-------------------------------------------------\r\n";