soyhuce/laravel-docker

与Docker实例交互

1.12.0 2024-03-28 14:19 UTC

This package is auto-updated.

Last update: 2024-08-28 15:14:52 UTC


README

Latest Version on Packagist GitHub Workflow Status Total Downloads

此包允许您通过Unix套接字或API与Docker实例进行通信。

API模式基于 API Docker Engine

安装

您可以通过composer安装此包

composer require soyhuce/laravel-docker

使用

配置

通过以下命令发布配置文件

php artisan vendor:publish --provider="Soyhuce\Docker\ServiceProvider"

API

要使用API驱动程序使用此包,您可以将Docker暴露在HTTP端口上。

例如,您可以这样做

socat TCP-LISTEN:<端口号>,reuseaddr,fork UNIX-CLIENT:<Unix套接字路径>

因此,在您的配置文件中,您必须定义配置文件如下

[
    'driver' => 'api',
    'version' => 'v1.40',
    'drivers' => [
        'api' => [
            'url' => 'http://127.0.0.1:<port-number>',
        ]
    ],
]

您也可以使用Unix套接字连接到Docker

[
    'driver' => 'api',
    'version' => 'v1.40',
    'drivers' => [
        'socket' => [
            'unix_socket' => '/var/run/docker.sock',
        ],
    ],
]

与Docker容器一起工作

  • create($imageName, $containerName) : 从镜像创建容器
  • start($containerId) : 从其名称或ID启动容器
  • stop($containerId) : 停止其名称或ID的容器
  • wait($containerId) : 等待其名称或ID的容器
  • delete($containerId) : 从其名称或ID删除容器

与Docker镜像一起工作

  • create($imageName, $tagName) : 拉取镜像
  • all() : 获取您的Docker实例上的所有镜像
  • remove($imageName) : 从其名称删除镜像