leoboiron/php-docker-manager
最新稳定版本:1.0.0
Composer 安装命令:
composer require leoboiron/php-docker-manager
包简介
A PHP library to wrap Docker container management (start/stop).
README 文档
README
PHP Docker Manager is a lightweight PHP library that provides an easy way to manage Docker containers (run/remove) from your PHP applications.
I developed this library for my personal needs. In consequence, it is not a complete Docker API client. It only provides the features I needed. See the API section for more details. Feel free to contribute to this project if you need more features.
Only the Docker Unix socket is supported. The TCP socket is not yet supported.
Requirements
- PHP extension
socketsandcurlmust be enabled. - Docker socket rights: the user running the PHP script must be in the
dockergroup or have the rights to access the Docker socket.
Installation
Install the library using Composer:
composer require leoboiron/php-docker-manager
Quick start
use PhpDockerManager\Container\Config; use PhpDockerManager\Manager; // Create the manager with the Unix socket. $manager = new Manager('unix:///var/run/docker.sock'); // Create a configuration for the container. // Image name and tag are required. $config = new Config('phpmyadmin/phpmyadmin', 'latest'); // Add some options. $config ->setName('my-phpmyadmin') ->addLabel('traefik.enable', 'true') ->setNetwork('traefik') ->addEnvVar('PMA_ARBITRARY', '1') ; // Run the container. $instance = $manager->run($config); // Get the status and id of the container. echo 'Container status: ' . $manager->getStatus($instance)->name . PHP_EOL; echo 'Container ID: ' . $instance->getId() . PHP_EOL; // Remove the container. $manager->remove($instance);
API
Run a container
$manager->run($config)
This method runs a container using the create and start methods. It returns the created instance. If the image is not available, it will be downloaded.
Create a container
$manager->create($config)
Create a container. It returns the created instance. The image must be available.
Start a container
$manager->start($instance)
Start a container. The container must be created before.
Get the status of a container
$manager->getStatus($instance)
Get the status of a container. It returns a StatusCase object. Possible values are: CREATED, RUNNING, RESTARTING, EXITED, PAUSED, DEAD.
Check if a container is running
$manager->isRunning($instance)
Check if a container is running. It returns a boolean.
Check if an image is available
$manager->isImageAvailable($image, $tag)
Check if an image is available. It returns a boolean.
Download an image
$manager->downloadImage($image, $tag)
Download an image using the tag.
Get an instance from its ID
$manager->getInstanceFromId($id)
Get an instance object from its ID.
Remove a container
$manager->remove($instance)
Remove a container. This method forces the removal of the container and removes the associated volumes.
License
This project is licensed under the GPL-3.0 License. See the LICENSE.md file for details.
Author
Léo Boiron - leo.boiron@gmail.com - https://leoboiron.fr
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0
- 更新时间: 2025-01-27