mirror of https://github.com/docker/cli.git
expand stack doc
Signed-off-by: Michael Friis <friism@gmail.com>
This commit is contained in:
parent
55f5fd6902
commit
635ab02ea6
|
@ -3,15 +3,12 @@
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
Docker Stacks are an experimental feature introduced in Docker 1.12, alongside
|
Docker Stacks are an experimental feature introduced in Docker 1.12, alongside
|
||||||
the new concepts of Swarms and Services inside the Engine.
|
the concept of swarm mode, and Nodes and Services in the Engine API.
|
||||||
|
|
||||||
A Dockerfile can be built into an image, and containers can be created from that
|
A Dockerfile can be built into an image, and containers can be created from that
|
||||||
image. Similarly, a docker-compose.yml can be built into a **bundle**, and
|
image. Similarly, a docker-compose.yml can be built into a **distributed application bundle**, and **stacks** can be created from that bundle. In that sense, the bundle is a multi-services distributable image format.
|
||||||
**stacks** can be created from that bundle. In that sense, the bundle is a
|
|
||||||
multi-services distributable image format.
|
|
||||||
|
|
||||||
As of 1.12, the feature is introduced as experimental, and Docker Engine doesn't
|
As of Docker 1.12, the feature is experimental. Neither Docker Engine nor the Docker Registry support distribution of bundles.
|
||||||
support distribution of bundles.
|
|
||||||
|
|
||||||
## Producing a bundle
|
## Producing a bundle
|
||||||
|
|
||||||
|
@ -96,3 +93,79 @@ Tasks are managed using the `docker stack` command:
|
||||||
|
|
||||||
Run 'docker stack COMMAND --help' for more information on a command.
|
Run 'docker stack COMMAND --help' for more information on a command.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Bundle file format
|
||||||
|
|
||||||
|
Distributed application bundles are described in a JSON format. When bundles are persisted as files, the file extension is `.dab` (Docker 1.12RC2 tools use `.dsb` for the file extension—this will be updated in the next release client).
|
||||||
|
|
||||||
|
A bundle has two top-level fields: `version` and `services`. The version used by Docker 1.12 tools is `0.1`.
|
||||||
|
|
||||||
|
`services` in the bundle are the services that comprise the app. They correspond to the new `Service` object introduced in the 1.12 Docker Engine API.
|
||||||
|
|
||||||
|
A service has the following fields:
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
Image (required) <code>string</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
The image that the service will run. Docker images should be referenced with full content hash to fully specify the deployment artifact for the service. Example: <code>postgres@sha256:f76245b04ddbcebab5bb6c28e76947f49222c99fec4aadb0bb1c24821a9e83ef</code>
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
Command <code>[]string</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Command to run in service containers.
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
Args <code>[]string</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Arguments passed to the service containers.
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
Env <code>[]string</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Environment variables.
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
Labels <code>map[string]string</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Labels used for setting meta data on services.
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
Ports <code>[]Port</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Service ports (composed of `Port` (`int`) and `Protocol` (`string`). A service description can only specify the container port to be exposed. These ports can be mapped on runtime hosts at the operator's discretion.
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
WorkingDir <code>string</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Working directory inside the service containers.
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
User <code>string</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Username or UID (format: <name|uid>[:<group|gid>]).
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt>
|
||||||
|
Networks <code>[]string</code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
Networks that the service containers should be connected to. An entity deploying a bundle should create networks as needed.
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue