{"id":16119978,"url":"https://github.com/uuf6429/phpdocker","last_synced_at":"2026-05-05T21:33:41.767Z","repository":{"id":146030479,"uuid":"110177185","full_name":"uuf6429/PHPDocker","owner":"uuf6429","description":" 🐘+🐳 - PHP library providing a simple API for Docker cli","archived":false,"fork":false,"pushed_at":"2017-12-31T01:46:28.000Z","size":94,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-15T21:38:34.301Z","etag":null,"topics":["docker","docker-compose","docker-machine","php","php-library"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uuf6429.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-09T23:20:47.000Z","updated_at":"2018-09-15T12:37:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff6daf62-3488-4d7e-bb7f-45df337eb8cc","html_url":"https://github.com/uuf6429/PHPDocker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uuf6429/PHPDocker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uuf6429%2FPHPDocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uuf6429%2FPHPDocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uuf6429%2FPHPDocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uuf6429%2FPHPDocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uuf6429","download_url":"https://codeload.github.com/uuf6429/PHPDocker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uuf6429%2FPHPDocker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32669431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","docker-machine","php","php-library"],"created_at":"2024-10-09T20:55:46.948Z","updated_at":"2026-05-05T21:33:41.753Z","avatar_url":"https://github.com/uuf6429.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- This file is generated automatically and any changes will be overwritten! --\u003e\n\n# PHPDocker\n\n[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%205.6-8892BF.svg)](https://php.net/)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/uuf6429/rune/master/LICENSE)\n[![Docker](https://img.shields.io/badge/d-3%25-0db7ed.svg)](#supported-commands)\n[![Docker Compose](https://img.shields.io/badge/c-20%25-0db7ed.svg)](#supported-commands)\n[![Docker Machine](https://img.shields.io/badge/m-60%25-0db7ed.svg)](#supported-commands)\n\nPHP library providing a simple API for [Docker cli](https://docs.docker.com/engine/reference/commandline/cli/).\n\n## Table of Contents\n\n- [PHPDocker](#phpdocker)\n  - [Table of Contents](#table-of-contents)\n  - [Why?](#why)\n  - [Installation](#installation)\n  - [Usage](#usage)\n  - [Supported Commands](#supported-commands)\n  - [Documentation](#documentation)\n\n## Why?\n\nMany operations in Docker are exposed via a [REST API](https://docs.docker.com/engine/api/latest/), however, some commands (eg, `docker-compose`) cannot be used from the API (because `docker-compose` itself uses the low-level API).\nAdditionally, if you use the REST API, you'll end up doing what the Docker cli is already doing for you.\nIn some cases it makes sense to use the low-level API, in which case you can use [another PHP library](https://github.com/docker-php/docker-php).\n\nIf, however, all you want is to jump in and start using Docker from your PHP application, this library fits the purpose well.\n\n**TL:DR;**\n- why not?\n- supports more functionality _(eg; `docker-toolbox`)_\n- fixes common issues _(eg; Docker from Docker Toolbox misses configuration and refuses to run outside of the Quickstart Terminal)_\n\n## Installation\n\nFirst [install Composer](https://getcomposer.org/download/) and then run the following command in your project directory:\n\n```bash\ncomposer require uuf6429/phpdocker\n```\n\n## Usage\n\nThis library requires either [native Docker](https://www.docker.com/community-edition#download) or [Docker Toolbox](https://docs.docker.com/toolbox/overview/).\n\nTwo interfaces are provided, both of which start with the [Manager](/DOCS.md#phpdockermanager) class:\n\n- **Procedural**\n\n  Everything can be done through the manager object and a whole process can be achieved through the use of method chaining.\n\n  ```php\n  $manager = new \\PHPDocker\\Manager();\n  $manager-\u003edocker-\u003erun('some-image', 'my-container');\n\n  // ... later on ...\n  $manager-\u003edocker-\u003estop('my-container');\n  ```\n\n- **Object Oriented**\n\n  A reference object can be \"created\" for easy passing through your code while avoiding passing the manager object or state/config.\n\n  The example below shows how one can save a reference to the running container and load it back later on to stop it (assuming the container is still running).\n\n  ```php\n  $manager = new \\PHPDocker\\Manager();\n  $container = $manager-\u003edocker\n      -\u003erun('some-image', 'my-container')\n      -\u003efind('my-container');\n  file_put_contents('cont1.txt', serialize($container));\n\n  // ... later on ...\n  $container = unserialize(file_get_contents('cont1.txt'));\n  $container-\u003estop();\n  ```\n\n**TL:DR;** In short, `-\u003edocker-\u003e%action%('xyz')` is equivalent to `-\u003edocker-\u003efind('xyz')-\u003e%action%()`.\n\n## Supported Commands\n\n- ✅ _Fully implemented._\n- \u0026nbsp;\u0026nbsp;?\u0026nbsp;\u0026nbsp; _Incomplete (check method for details)._\n- ❌ _Not implemented yet._\n- \u0026nbsp;✱\u0026nbsp; _Not (and won't be) implemented._\n\n\u003ctable\u003e\n    \u003cthead\u003e\n\u003cth\u003eDocker (3%)\u003c/th\u003e\u003cth\u003eDocker Compose (20%)\u003c/th\u003e\u003cth\u003eDocker Machine (60%)\u003c/th\u003e\n    \u003c/thead\u003e\u003ctbody\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\n                ❌ docker attach\u003cbr/\u003e\n                ❌ docker build\u003cbr/\u003e\n                ❌ docker checkpoint\u003cbr/\u003e\n                ❌ docker checkpoint create\u003cbr/\u003e\n                ❌ docker checkpoint ls\u003cbr/\u003e\n                ❌ docker checkpoint rm\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#dockercommit\" title=\"Docker::commit\"\u003edocker commit\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker config\u003cbr/\u003e\n                ❌ docker config create\u003cbr/\u003e\n                ❌ docker config inspect\u003cbr/\u003e\n                ❌ docker config ls\u003cbr/\u003e\n                ❌ docker config rm\u003cbr/\u003e\n                ❌ docker container\u003cbr/\u003e\n                ❌ docker container attach\u003cbr/\u003e\n                ❌ docker container commit\u003cbr/\u003e\n                ❌ docker container cp\u003cbr/\u003e\n                ❌ docker container create\u003cbr/\u003e\n                ❌ docker container diff\u003cbr/\u003e\n                ❌ docker container exec\u003cbr/\u003e\n                ❌ docker container export\u003cbr/\u003e\n                ❌ docker container inspect\u003cbr/\u003e\n                ❌ docker container kill\u003cbr/\u003e\n                ❌ docker container logs\u003cbr/\u003e\n                ❌ docker container ls\u003cbr/\u003e\n                ❌ docker container pause\u003cbr/\u003e\n                ❌ docker container port\u003cbr/\u003e\n                ❌ docker container prune\u003cbr/\u003e\n                ❌ docker container rename\u003cbr/\u003e\n                ❌ docker container restart\u003cbr/\u003e\n                ❌ docker container rm\u003cbr/\u003e\n                ❌ docker container run\u003cbr/\u003e\n                ❌ docker container start\u003cbr/\u003e\n                ❌ docker container stats\u003cbr/\u003e\n                ❌ docker container stop\u003cbr/\u003e\n                ❌ docker container top\u003cbr/\u003e\n                ❌ docker container unpause\u003cbr/\u003e\n                ❌ docker container update\u003cbr/\u003e\n                ❌ docker container wait\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#dockercopy\" title=\"Docker::copy\"\u003edocker cp\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker create\u003cbr/\u003e\n                ❌ docker deploy\u003cbr/\u003e\n                ❌ docker diff\u003cbr/\u003e\n                ❌ docker events\u003cbr/\u003e\n                ❌ docker exec\u003cbr/\u003e\n                ❌ docker export\u003cbr/\u003e\n                ❌ docker history\u003cbr/\u003e\n                ❌ docker image\u003cbr/\u003e\n                ❌ docker image build\u003cbr/\u003e\n                ❌ docker image history\u003cbr/\u003e\n                ❌ docker image import\u003cbr/\u003e\n                ❌ docker image inspect\u003cbr/\u003e\n                ❌ docker image load\u003cbr/\u003e\n                ❌ docker image ls\u003cbr/\u003e\n                ❌ docker image prune\u003cbr/\u003e\n                ❌ docker image pull\u003cbr/\u003e\n                ❌ docker image push\u003cbr/\u003e\n                ❌ docker image rm\u003cbr/\u003e\n                ❌ docker images\u003cbr/\u003e\n                ❌ docker image save\u003cbr/\u003e\n                ❌ docker image tag\u003cbr/\u003e\n                ❌ docker import\u003cbr/\u003e\n                ❌ docker info\u003cbr/\u003e\n                ❌ docker inspect\u003cbr/\u003e\n                ❌ docker kill\u003cbr/\u003e\n                ❌ docker load\u003cbr/\u003e\n                ❌ docker login\u003cbr/\u003e\n                ❌ docker logout\u003cbr/\u003e\n                ❌ docker logs\u003cbr/\u003e\n                ❌ docker network\u003cbr/\u003e\n                ❌ docker network connect\u003cbr/\u003e\n                ❌ docker network create\u003cbr/\u003e\n                ❌ docker network disconnect\u003cbr/\u003e\n                ❌ docker network inspect\u003cbr/\u003e\n                ❌ docker network ls\u003cbr/\u003e\n                ❌ docker network prune\u003cbr/\u003e\n                ❌ docker network rm\u003cbr/\u003e\n                ❌ docker node\u003cbr/\u003e\n                ❌ docker node demote\u003cbr/\u003e\n                ❌ docker node inspect\u003cbr/\u003e\n                ❌ docker node ls\u003cbr/\u003e\n                ❌ docker node promote\u003cbr/\u003e\n                ❌ docker node ps\u003cbr/\u003e\n                ❌ docker node rm\u003cbr/\u003e\n                ❌ docker node update\u003cbr/\u003e\n                ❌ docker pause\u003cbr/\u003e\n                ❌ docker plugin\u003cbr/\u003e\n                ❌ docker plugin create\u003cbr/\u003e\n                ❌ docker plugin disable\u003cbr/\u003e\n                ❌ docker plugin enable\u003cbr/\u003e\n                ❌ docker plugin inspect\u003cbr/\u003e\n                ❌ docker plugin install\u003cbr/\u003e\n                ❌ docker plugin ls\u003cbr/\u003e\n                ❌ docker plugin push\u003cbr/\u003e\n                ❌ docker plugin rm\u003cbr/\u003e\n                ❌ docker plugin set\u003cbr/\u003e\n                ❌ docker plugin upgrade\u003cbr/\u003e\n                ❌ docker port\u003cbr/\u003e\n                ❌ docker ps\u003cbr/\u003e\n                ❌ docker pull\u003cbr/\u003e\n                ❌ docker push\u003cbr/\u003e\n                ❌ docker rename\u003cbr/\u003e\n                ❌ docker restart\u003cbr/\u003e\n                \u0026nbsp;\u0026nbsp;?\u0026nbsp;\u0026nbsp; \u003ca href=\"/DOCS.md#dockerremove\" title=\"Docker::remove\"\u003edocker rm\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker rmi\u003cbr/\u003e\n                \u0026nbsp;\u0026nbsp;?\u0026nbsp;\u0026nbsp; \u003ca href=\"/DOCS.md#dockerrun\" title=\"Docker::run\"\u003edocker run\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker save\u003cbr/\u003e\n                ❌ docker search\u003cbr/\u003e\n                ❌ docker secret\u003cbr/\u003e\n                ❌ docker secret create\u003cbr/\u003e\n                ❌ docker secret inspect\u003cbr/\u003e\n                ❌ docker secret ls\u003cbr/\u003e\n                ❌ docker secret rm\u003cbr/\u003e\n                ❌ docker service\u003cbr/\u003e\n                ❌ docker service create\u003cbr/\u003e\n                ❌ docker service inspect\u003cbr/\u003e\n                ❌ docker service logs\u003cbr/\u003e\n                ❌ docker service ls\u003cbr/\u003e\n                ❌ docker service ps\u003cbr/\u003e\n                ❌ docker service rm\u003cbr/\u003e\n                ❌ docker service scale\u003cbr/\u003e\n                ❌ docker service update\u003cbr/\u003e\n                ❌ docker stack\u003cbr/\u003e\n                ❌ docker stack deploy\u003cbr/\u003e\n                ❌ docker stack ls\u003cbr/\u003e\n                ❌ docker stack ps\u003cbr/\u003e\n                ❌ docker stack rm\u003cbr/\u003e\n                ❌ docker stack services\u003cbr/\u003e\n                ❌ docker start\u003cbr/\u003e\n                ❌ docker stats\u003cbr/\u003e\n                ❌ docker stop\u003cbr/\u003e\n                ❌ docker swarm\u003cbr/\u003e\n                ❌ docker swarm ca\u003cbr/\u003e\n                ❌ docker swarm init\u003cbr/\u003e\n                ❌ docker swarm join\u003cbr/\u003e\n                ❌ docker swarm join-token\u003cbr/\u003e\n                ❌ docker swarm leave\u003cbr/\u003e\n                ❌ docker swarm unlock\u003cbr/\u003e\n                ❌ docker swarm unlock-key\u003cbr/\u003e\n                ❌ docker swarm update\u003cbr/\u003e\n                ❌ docker system\u003cbr/\u003e\n                ❌ docker system df\u003cbr/\u003e\n                ❌ docker system events\u003cbr/\u003e\n                ❌ docker system info\u003cbr/\u003e\n                ❌ docker system prune\u003cbr/\u003e\n                ❌ docker tag\u003cbr/\u003e\n                ❌ docker top\u003cbr/\u003e\n                ❌ docker unpause\u003cbr/\u003e\n                ❌ docker update\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#dockergetversion\" title=\"Docker::getVersion\"\u003edocker version\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker volume\u003cbr/\u003e\n                ❌ docker volume create\u003cbr/\u003e\n                ❌ docker volume inspect\u003cbr/\u003e\n                ❌ docker volume ls\u003cbr/\u003e\n                ❌ docker volume prune\u003cbr/\u003e\n                ❌ docker volume rm\u003cbr/\u003e\n                ❌ docker wait\u003cbr/\u003e\n            \u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                ✅ \u003ca href=\"/DOCS.md#composebuild\" title=\"Compose::build\"\u003edocker-compose build\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker-compose bundle\u003cbr/\u003e\n                ❌ docker-compose config\u003cbr/\u003e\n                ❌ docker-compose create\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#composedown\" title=\"Compose::down\"\u003edocker-compose down\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker-compose events\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#composeexecute\" title=\"Compose::execute\"\u003edocker-compose exec\u003c/a\u003e\u003cbr/\u003e\n                \u0026nbsp;✱\u0026nbsp; docker-compose help\u003cbr/\u003e\n                ❌ docker-compose images\u003cbr/\u003e\n                ❌ docker-compose kill\u003cbr/\u003e\n                ❌ docker-compose logs\u003cbr/\u003e\n                ❌ docker-compose pause\u003cbr/\u003e\n                ❌ docker-compose port\u003cbr/\u003e\n                ❌ docker-compose ps\u003cbr/\u003e\n                ❌ docker-compose pull\u003cbr/\u003e\n                ❌ docker-compose push\u003cbr/\u003e\n                ❌ docker-compose restart\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#composeremove\" title=\"Compose::remove\"\u003edocker-compose rm\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker-compose run\u003cbr/\u003e\n                ❌ docker-compose scale\u003cbr/\u003e\n                ❌ docker-compose start\u003cbr/\u003e\n                ❌ docker-compose stop\u003cbr/\u003e\n                ❌ docker-compose top\u003cbr/\u003e\n                ❌ docker-compose unpause\u003cbr/\u003e\n                ❌ docker-compose up\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#composegetversion\" title=\"Compose::getVersion\"\u003edocker-compose version\u003c/a\u003e\u003cbr/\u003e\n            \u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinegetactive\" title=\"Machine::getActive\"\u003edocker-machine active\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker-machine config\u003cbr/\u003e\n                ❌ docker-machine create\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinegetenvvars\" title=\"Machine::getEnvVars\"\u003edocker-machine env\u003c/a\u003e\u003cbr/\u003e\n                \u0026nbsp;✱\u0026nbsp; docker-machine help\u003cbr/\u003e\n                ❌ docker-machine inspect\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinegetips\" title=\"Machine::getIPs\"\u003edocker-machine ip\u003c/a\u003e\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinekill\" title=\"Machine::kill\"\u003edocker-machine kill\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker-machine ls\u003cbr/\u003e\n                ❌ docker-machine provision\u003cbr/\u003e\n                ❌ docker-machine regenerate-certs\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinerestart\" title=\"Machine::restart\"\u003edocker-machine restart\u003c/a\u003e\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machineremove\" title=\"Machine::remove\"\u003edocker-machine rm\u003c/a\u003e\u003cbr/\u003e\n                ❌ docker-machine scp\u003cbr/\u003e\n                ❌ docker-machine ssh\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinestart\" title=\"Machine::start\"\u003edocker-machine start\u003c/a\u003e\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinegetstatus\" title=\"Machine::getStatus\"\u003edocker-machine status\u003c/a\u003e\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinestop\" title=\"Machine::stop\"\u003edocker-machine stop\u003c/a\u003e\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machineupgrade\" title=\"Machine::upgrade\"\u003edocker-machine upgrade\u003c/a\u003e\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinegeturl\" title=\"Machine::getURL\"\u003edocker-machine url\u003c/a\u003e\u003cbr/\u003e\n                ✅ \u003ca href=\"/DOCS.md#machinegetversion\" title=\"Machine::getVersion\"\u003edocker-machine version\u003c/a\u003e\u003cbr/\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n## [Documentation](/DOCS.md)\n\nComplete up-to-date API documentation can be found [here](/DOCS.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuuf6429%2Fphpdocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuuf6429%2Fphpdocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuuf6429%2Fphpdocker/lists"}