Image
- це клас для роботи з образами Docker через API. Він надає методи для створення, завантаження, отримання інформації, маркування (тегування) та видалення образів Docker.
Sangezar\DockerClient\Api
Клас Image
успадковується від AbstractApi
та реалізує інтерфейс ImageInterface
.
public function list(array $parameters = []): array
Отримує список образів.
$parameters
- Масив параметрів для фільтрації результатів:
all
(bool) - Показати всі образи (за замовчуванням приховує проміжні образи)filters (array |
string) - Фільтри для застосування у форматі JSON або масиву |
digests
(bool) - Показати інформацію про дайджестиInvalidParameterValueException
- якщо передані неприпустимі параметриpublic function build(array $parameters = [], array $config = []): array
Будує новий образ.
$parameters
- Параметри запиту для побудови:
t
(string) - Ім’я та тег для побудованого образуq
(bool) - Пригнічувати детальний вивід побудовиnocache
(bool) - Не використовувати кеш при побудові образуpull (bool |
string) - Завантажити образ перед побудовою |
rm
(bool) - Видалити проміжні контейнери після успішної побудовиforcerm
(bool) - Завжди видаляти проміжні контейнери$config
- Конфігурація для контексту побудовиInvalidParameterValueException
- якщо передані неприпустимі параметриOperationFailedException
- якщо побудова не вдаласяpublic function buildWithOptions(\Sangezar\DockerClient\Config\ImageBuildOptions $options): array
Будує образ за допомогою об’єкта ImageBuildOptions.
$options
- Конфігураційні опції для побудови образуInvalidParameterValueException
- якщо передані неприпустимі параметриOperationFailedException
- якщо побудова не вдаласяpublic function create(string $fromImage, ?string $tag = null): array
Створює образ завантаженням його з реєстру.
$fromImage
- Ім’я вихідного образу$tag
- Тег для завантаження (за замовчуванням ‘latest’)MissingRequiredParameterException
- якщо fromImage порожнійInvalidParameterValueException
- якщо формат імені образу або тегу неприпустимийOperationFailedException
- якщо завантаження не вдалосяpublic function inspect(string $name): array
Отримує детальну інформацію про образ.
$name
- Ім’я або ID образуMissingRequiredParameterException
- якщо ім’я образу порожнєNotFoundException
- якщо образ не знайденийpublic function history(string $name): array
Отримує історію образу.
$name
- Ім’я або ID образуMissingRequiredParameterException
- якщо ім’я образу порожнєNotFoundException
- якщо образ не знайденийpublic function push(string $name, array $parameters = []): array
Відправляє образ до реєстру.
$name
- Ім’я образу$parameters
- Додаткові параметри:
tag
(string) - Тег для відправкиMissingRequiredParameterException
- якщо ім’я образу порожнєOperationFailedException
- якщо відправлення не вдалосяpublic function tag(string $name, string $repo, ?string $tag = null): bool
Маркує образ новим іменем і тегом.
$name
- Ім’я або ID образу$repo
- Нове ім’я репозиторію для образу$tag
- Новий тег (за замовчуванням ‘latest’)true
, якщо образ успішно поміченийMissingRequiredParameterException
- якщо обов’язкові параметри порожніInvalidParameterValueException
- якщо формат репозиторію або тегу неприпустимийOperationFailedException
- якщо маркування не вдалосяNotFoundException
- якщо образ не знайденийpublic function exists(string $name): bool
Перевіряє, чи існує образ.
$name
- Ім’я або ID образуtrue
, якщо образ існує, false
- якщо ніMissingRequiredParameterException
- якщо ім’я образу порожнєpublic function remove(string $name, bool $force = false, bool $noprune = false): bool
Видаляє образ.
$name
- Ім’я або ID образу$force
- Форсувати видалення (за замовчуванням false
)$noprune
- Не видаляти невикористані батьківські шари (за замовчуванням false
)true
, якщо образ успішно видаленийMissingRequiredParameterException
- якщо ім’я образу порожнєOperationFailedException
- якщо видалення не вдалосяNotFoundException
- якщо образ не знайденийpublic function search(string $term): array
Шукає образи в реєстрі Docker Hub.
$term
- Пошуковий запитMissingRequiredParameterException
- якщо пошуковий запит порожнійOperationFailedException
- якщо пошук не вдавсяpublic function prune(array $filters = []): array
Видаляє невикористані образи.
$filters
- Фільтри для вибору образів для очищення:
dangling
(bool) - Видалити тільки висячі образи (образи без тегів)until
(string) - Видалити образи, створені до вказаного часуlabel
(string) - Видалити образи з вказаними міткамиInvalidParameterValueException
- якщо фільтри неприпустиміOperationFailedException
- якщо очищення не вдалосяuse Sangezar\DockerClient\DockerClient;
$client = DockerClient::createUnix();
$images = $client->image()->list(['all' => true]);
foreach ($images as $image) {
$tags = $image['RepoTags'] ?? ['<none>:<none>'];
echo "Образ: " . implode(', ', $tags) . ", розмір: " . $image['Size'] . " байт\n";
}
use Sangezar\DockerClient\DockerClient;
$client = DockerClient::createUnix();
$result = $client->image()->create('nginx', 'latest');
echo "Образ nginx:latest успішно завантажений\n";
use Sangezar\DockerClient\DockerClient;
$client = DockerClient::createUnix();
$imageName = 'nginx:latest';
if ($client->image()->exists($imageName)) {
// Маркуємо образ новим іменем
$client->image()->tag($imageName, 'my-nginx', 'v1');
// Видаляємо оригінальний образ
$client->image()->remove($imageName);
echo "Образ {$imageName} перейменовано в my-nginx:v1 та видалено оригінал\n";
}