PHPackages                             tiny-blocks/docker-container - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [PSR &amp; Standards](/categories/psr-standards)
4. /
5. tiny-blocks/docker-container

ActiveLibrary[PSR &amp; Standards](/categories/psr-standards)

tiny-blocks/docker-container
============================

Manages Docker containers programmatically for PHP, aimed at integration tests and disposable infrastructure.

3.0.0(4d ago)41.6k↓86.8%1MITPHPPHP ^8.5CI passing

Since Dec 1Pushed 4d ago1 watchersCompare

[ Source](https://github.com/tiny-blocks/docker-container)[ Packagist](https://packagist.org/packages/tiny-blocks/docker-container)[ Docs](https://github.com/tiny-blocks/docker-container)[ RSS](/packages/tiny-blocks-docker-container/feed)WikiDiscussions main Synced yesterday

READMEChangelog (10)Dependencies (24)Versions (19)Used By (1)

Docker container
================

[](#docker-container)

[![License](https://camo.githubusercontent.com/f8df3091bbe1149f398a5369b2c39e896766f9f6efba3477c63e9b4aa940ef14/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e)](LICENSE)

- [Overview](#overview)
- [Installation](#installation)
- [How to use](#how-to-use)
    - [Creating a container](#creating-a-container)
    - [Running a container](#running-a-container)
    - [Running if not exists](#running-if-not-exists)
    - [Running conditionally](#running-conditionally)
    - [Checking if the container was reused](#checking-if-the-container-was-reused)
    - [Pulling images in parallel](#pulling-images-in-parallel)
    - [Setting network](#setting-network)
    - [Setting port mappings](#setting-port-mappings)
    - [Setting volume mappings](#setting-volume-mappings)
    - [Setting environment variables](#setting-environment-variables)
    - [Disabling auto-remove](#disabling-auto-remove)
    - [Copying files to a container](#copying-files-to-a-container)
    - [Stopping a container](#stopping-a-container)
    - [Stopping on shutdown](#stopping-on-shutdown)
    - [Executing commands after startup](#executing-commands-after-startup)
    - [Wait strategies](#wait-strategies)
        - [Waiting for a fixed time](#waiting-for-a-fixed-time)
        - [Waiting for a dependency](#waiting-for-a-dependency)
    - [MySQL container](#mysql-container)
        - [Configuring MySQL options](#configuring-mysql-options)
        - [Setting readiness timeout](#setting-readiness-timeout)
        - [Retrieving connection data](#retrieving-connection-data)
        - [Environment-aware connection](#environment-aware-connection)
    - [Flyway container](#flyway-container)
        - [Setting the database source](#setting-the-database-source)
        - [Configuring migrations](#configuring-migrations)
        - [Configuring Flyway options](#configuring-flyway-options)
        - [Running Flyway commands](#running-flyway-commands)
    - [Usage examples](#usage-examples)
        - [MySQL with Flyway migrations](#mysql-with-flyway-migrations)
- [License](#license)
- [Contributing](#contributing)

Overview
--------

[](#overview)

Manages Docker containers programmatically for PHP, enabling integration tests and disposable infrastructure to be orchestrated directly from code. Supports container definitions, port and volume mappings, environment variables, readiness probes, shutdown hooks, and orphan reaping.

Installation
------------

[](#installation)

```
composer require tiny-blocks/docker-container
```

How to use
----------

[](#how-to-use)

### Creating a container

[](#creating-a-container)

Creates a container from a specified image and an optional name.

```
