Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update project homepage #47

Merged
merged 2 commits into from
Sep 7, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 16 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
# clue/docker-react [![Build Status](https://travis-ci.org/clue/php-docker-react.svg?branch=master)](https://travis-ci.org/clue/php-docker-react)
# clue/reactphp-docker [![Build Status](https://travis-ci.org/clue/reactphp-docker.svg?branch=master)](https://travis-ci.org/clue/reactphp-docker)

Simple async/streaming access to the [Docker](https://www.docker.com/) API, built on top of [React PHP](http://reactphp.org/).
Async, event-driven access to the [Docker Engine API](https://docs.docker.com/develop/sdk/), built on top of [ReactPHP](https://reactphp.org/).

[Docker](https://www.docker.com/) is a popular open source platform
to run and share applications within isolated, lightweight containers.
The [Docker Remote API](https://docs.docker.com/reference/api/docker_remote_api_v1.15/)
The [Docker Engine API](https://docs.docker.com/develop/sdk/)
allows you to control and monitor your containers and images.
Among others, it can be used to list existing images, download new images,
execute arbitrary commands within isolated containers, stop running containers and much more.
This lightweight library provides an efficient way to work with the Docker Engine API
from within PHP. It enables you to work with its images and containers or use
its event-driven model to react to changes and events happening.

* **Async execution of Actions** -
Send any number of actions (commands) to your Docker daemon in parallel and
process their responses as soon as results come in.
The Promise-based design provides a *sane* interface to working with out of bound responses.
The Promise-based design provides a *sane* interface to working with out of order responses.
* **Lightweight, SOLID design** -
Provides a thin abstraction that is [*just good enough*](http://en.wikipedia.org/wiki/Principle_of_good_enough)
Provides a thin abstraction that is [*just good enough*](https://en.wikipedia.org/wiki/Principle_of_good_enough)
and does not get in your way.
This library is merely a very thin wrapper around the Remote API.
This library is merely a very thin wrapper around the [Docker Engine API](https://docs.docker.com/develop/sdk/).
* **Good test coverage** -
Comes with an automated tests suite and is regularly tested in the *real world*

Expand Down Expand Up @@ -100,7 +103,7 @@ The recommended way to create a `Client` is using the `Factory` (see above).

#### Commands

All public methods on the `Client` resemble the API described in the [Remote API documentation](https://docs.docker.com/reference/api/docker_remote_api_v1.15/) like this:
All public methods on the `Client` resemble the API described in the [Docker Engine API documentation](https://docs.docker.com/develop/sdk/) like this:

```php
$client->containerList($all, $size);
Expand All @@ -120,7 +123,7 @@ $client->version();
```

Listing all available commands is out of scope here, please refer to the
[Remote API documentation](https://docs.docker.com/reference/api/docker_remote_api_v1.15/)
[Docker Engine API documentation](https://docs.docker.com/develop/sdk/)
or the [class outline](src/Client.php).

Each of these commands supports async operation and either *resolves* with its *results*
Expand Down Expand Up @@ -151,7 +154,7 @@ If this looks strange to you, you can also use the more traditional [blocking AP
As stated above, this library provides you a powerful, async API by default.

If, however, you want to integrate this into your traditional, blocking environment,
you should look into also using [clue/block-react](https://github.com/clue/php-block-react).
you should look into also using [clue/reactphp-block](https://github.com/clue/reactphp-block).

The resulting blocking code could look something like this:

Expand Down Expand Up @@ -183,7 +186,7 @@ $promises = array(
$inspections = Block\awaitAll($promises, $loop);
```

Please refer to [clue/block-react](https://github.com/clue/php-block-react#readme) for more details.
Please refer to [clue/reactphp-block](https://github.com/clue/reactphp-block#readme) for more details.

#### Command streaming

Expand Down Expand Up @@ -279,7 +282,7 @@ $stream = $client->containerCopyStream($image, $config);

Accessing individual files in the TAR file format string or stream is out of scope
for this library.
Several libraries are available, one that is known to work is [clue/tar-react](https://github.com/clue/php-tar-react).
Several libraries are available, one that is known to work is [clue/reactphp-tar](https://github.com/clue/reactphp-tar).

See also the [copy example](examples/copy.php) and the [export example](examples/export.php).

Expand Down Expand Up @@ -380,7 +383,8 @@ The `getData()` method can be used to obtain the progress message.

## Install

The recommended way to install this library is [through composer](http://getcomposer.org). [New to composer?](http://getcomposer.org/doc/00-intro.md)
The recommended way to install this library is [through Composer](https://getcomposer.org).
[New to composer?](https://getcomposer.org/doc/00-intro.md)

```JSON
{
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "clue/docker-react",
"description": "Simple async/streaming Docker client",
"description": "Async, event-driven access to the Docker Engine API, built on top of ReactPHP.",
"keywords": ["Docker", "container", "ReactPHP", "async"],
"homepage": "https://github.com/clue/php-docker-react",
"homepage": "https://github.com/clue/reactphp-docker",
"license": "MIT",
"authors": [
{
Expand Down
Loading