掌控你的Docker容器:用PHP简化管理
dockerManage docker containers with PHP项目地址:https://gitcode.com/gh_mirrors/docker10/docker
Spatie的docker
包提供了一种优雅的方式来启动Docker容器,并在其上执行命令。简单易用,让容器管理和任务执行变得更高效。
支持我们
我们投入大量资源开发一流的开源软件。通过购买我们的付费产品支持我们,或者给我们发送来自你家乡的明信片,告诉我们你在使用哪个(些)包。你的支持将激励我们持续创新。详情见我们的联系方式和虚拟明信片墙。
安装
通过Composer安装:
composer require spatie/docker
使用
创建并启动一个Docker容器:
$containerInstance = DockerContainer::create($imageName)->start();
$process = $containerInstance->execute('whoami');
echo $process->getOutput(); // 输出容器内用户的用户名
功能详解
自定义容器配置
- 非守护模式:使用
doNotDaemonize()
禁止后台运行。 - 不自动清理:使用
doNotCleanUpAfterExit()
关闭后保持容器存在。 - 特权模式:使用
privileged()
使容器具有更多权限。 - 定制Shell:通过
shell('sh')
设置默认为非bash的shell。 - 命名容器:通过
name()
或在构造函数中指定名称。 - 端口映射:使用
mapPort()
映射主机与容器端口。 - 环境变量:用
setEnvironmentVariable()
设置环境变量。 - 挂载卷:使用
setVolume()
添加数据卷。 - 设置标签:使用
setLabel()
添加自定义标签。 - 附加命令:使用
setCommands()
追加命令到启动参数。 - 可选参数:使用
setOptionalArgs()
添加任意启动选项。 - 析构时停止:使用
stopOnDestruct()
在脚本结束时自动停止容器。 - 网络连接:使用
network()
将容器加入特定网络。 - 远程主机:通过
remoteHost()
设置远程Docker宿主。 - 自定义启动命令:用
command()
覆盖默认启动命令。 - 获取启动命令字符串:使用
getStartCommand()
查看命令。 - 调整启动命令超时:通过
setStartCommandTimeout()
设置时间限制。
容器实例方法
- 执行命令:用
execute()
执行单个或多个命令。 - 添加公钥:用
addPublicKey()
向容器添加SSH公钥以实现安全连接。 - 文件上传:使用
addFiles()
将本地文件或目录上传至容器。 - 获取Docker inspect信息:调用
inspect()
获取容器详细信息。
应用场景
该库适用于各种需要灵活控制Docker容器的情况:
- 自动化部署:例如,自动化构建和测试应用。
- 持续集成/持续部署(CI/CD):与CI工具集成,快速启动测试环境。
- 本地开发:轻松创建和管理本地开发环境。
- 微服务架构:容器化各个服务,轻松扩展和更新。
项目特点
- 易于使用:简洁的API使得操作容器就像编写简单的PHP代码一样直观。
- 高度自定义:允许深度配置容器,满足多样化需求。
- 测试支持:内置测试支持,确保功能稳定可靠。
- 宏观与微观控制:既可全局配置,也可在运行时动态调整。
无论是初学者还是经验丰富的开发者,Spatie的docker
包都为你提供了强大的工具来管理你的Docker世界。立即尝试,让Docker管理变得更加简单和高效!
dockerManage docker containers with PHP项目地址:https://gitcode.com/gh_mirrors/docker10/docker