/** * Returns a specific number of results from a stream. * * @param integer $n the number of results * @param [Cons|callable] $d a stream */ function take($n, $d) { if ($n === 0) { return nil(); } else { $d = pull($d); if (isNull($d)) { return nil(); } else { return cons(car($d), take($n - 1, cdr($d))); } } }
<?php $dockerRegistry = 'https://registry.hub.docker.com/v2/repositories/'; $userName = '******'; $password = '******'; $savePath = '/var/registry/dump/'; $remoteSave = true; $backUpServer = 'localdrive'; $backUpUser = '******'; $backUpDir = '/volume1/homes/ec/Docker'; mkdir($savePath, 0777, true); ///;.'/ foreach (getImages() as $image) { $imageName = $image['name'] . ':' . $image['tag']; pull($imageName); $file = $savePath . $imageName . '.tar'; save($imageName, $file); } exec(sprintf('rsync -nvizaP %s %s', $savePath, $backUpUser . '@' . $backUpServer . ':' . $backUpDir)); function pull($imageName) { return exec(sprintf('docker pull %s', $imageName)); } function save($imageName, $savePath) { return exec(sprintf('docker save -o %s %s', $imageName, $savePath)); } function getImages() { exec('docker images', $result); foreach ($result as $line) {