mirror of
https://github.com/docker/compose.git
synced 2025-07-24 22:24:41 +02:00
Merge pull request #1258 from fredlf/1.6-docs-updates
Prepping for 1.6 release.
This commit is contained in:
commit
219751abc7
@ -5,6 +5,8 @@ page_keywords: documentation, docs, docker, compose, orchestration, containers
|
|||||||
|
|
||||||
# Docker Compose
|
# Docker Compose
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
Compose is a tool for defining and running complex applications with Docker.
|
Compose is a tool for defining and running complex applications with Docker.
|
||||||
With Compose, you define a multi-container application in a single file, then
|
With Compose, you define a multi-container application in a single file, then
|
||||||
spin your application up in a single command which does everything that needs to
|
spin your application up in a single command which does everything that needs to
|
||||||
@ -191,3 +193,17 @@ At this point, you have seen the basics of how Compose works.
|
|||||||
[Rails](rails.md), or [Wordpress](wordpress.md).
|
[Rails](rails.md), or [Wordpress](wordpress.md).
|
||||||
- See the reference guides for complete details on the [commands](cli.md), the
|
- See the reference guides for complete details on the [commands](cli.md), the
|
||||||
[configuration file](yml.md) and [environment variables](env.md).
|
[configuration file](yml.md) and [environment variables](env.md).
|
||||||
|
|
||||||
|
## Release Notes
|
||||||
|
|
||||||
|
### Version 1.2.0 (April 7, 2015)
|
||||||
|
|
||||||
|
For complete information on this release, see the [1.2.0 Milestone project page](https://github.com/docker/compose/wiki/1.2.0-Milestone-Project-Page).
|
||||||
|
In addition to bug fixes and refinements, this release adds the following:
|
||||||
|
|
||||||
|
* The `extends` keyword, which adds the ability to extend services by sharing common configurations. For details, see
|
||||||
|
[PR #972](https://github.com/docker/compose/pull/1088).
|
||||||
|
|
||||||
|
* Better integration with Swarm. Swarm will now schedule inter-dependent
|
||||||
|
containers on the same host. For details, see
|
||||||
|
[PR #972](https://github.com/docker/compose/pull/972).
|
||||||
|
@ -5,73 +5,73 @@ page_keywords: documentation, docs, docker, compose, orchestration, containers,
|
|||||||
|
|
||||||
## Using Compose in production
|
## Using Compose in production
|
||||||
|
|
||||||
While **Compose is not yet considered production-ready**, you can try using it
|
While **Compose is not yet considered production-ready**, if you'd like to experiment and learn more about using it in production deployments, this guide
|
||||||
for production deployments if you're feeling brave. Production-readiness is an
|
can help.
|
||||||
active, ongoing project - see the
|
The project is actively working towards becoming
|
||||||
|
production-ready; to learn more about the progress being made, check out the
|
||||||
[roadmap](https://github.com/docker/compose/blob/master/ROADMAP.md) for details
|
[roadmap](https://github.com/docker/compose/blob/master/ROADMAP.md) for details
|
||||||
on how it's coming along and what needs to be done.
|
on how it's coming along and what still needs to be done.
|
||||||
|
|
||||||
When deploying to production, you'll almost certainly want to make changes to
|
When deploying to production, you'll almost certainly want to make changes to
|
||||||
your app configuration that are more appropriate to a live environment. This may
|
your app configuration that are more appropriate to a live environment. These
|
||||||
include:
|
changes may include:
|
||||||
|
|
||||||
- Removing any volume bindings for application code, so that code stays inside
|
- Removing any volume bindings for application code, so that code stays inside
|
||||||
the container and can't be changed from outside
|
the container and can't be changed from outside
|
||||||
- Binding to different ports on the host
|
- Binding to different ports on the host
|
||||||
- Setting environment variables differently (e.g. to decrease the verbosity of
|
- Setting environment variables differently (e.g., to decrease the verbosity of
|
||||||
logging, or to enable email sending)
|
logging, or to enable email sending)
|
||||||
- Specifying a restart policy (e.g. `restart: always`) to avoid downtime
|
- Specifying a restart policy (e.g., `restart: always`) to avoid downtime
|
||||||
- Adding extra services (e.g. a log aggregator)
|
- Adding extra services (e.g., a log aggregator)
|
||||||
|
|
||||||
For this reason, you'll probably want to define a separate Compose file, say
|
For this reason, you'll probably want to define a separate Compose file, say
|
||||||
`production.yml`, which specifies production-appropriate configuration.
|
`production.yml`, which specifies production-appropriate configuration.
|
||||||
|
|
||||||
<!-- TODO: uncomment when the `extends` guide is merged
|
|
||||||
> **Note:** The [extends](extends.md) keyword is useful for maintaining multiple
|
> **Note:** The [extends](extends.md) keyword is useful for maintaining multiple
|
||||||
> Compose files which re-use common services without having to manually copy and
|
> Compose files which re-use common services without having to manually copy and
|
||||||
> paste.
|
> paste.
|
||||||
-->
|
|
||||||
|
|
||||||
Once you've got an alternate configuration file, you can make Compose use it
|
Once you've got an alternate configuration file, make Compose use it
|
||||||
by setting the `COMPOSE_FILE` environment variable:
|
by setting the `COMPOSE_FILE` environment variable:
|
||||||
|
|
||||||
$ COMPOSE_FILE=production.yml
|
$ COMPOSE_FILE=production.yml
|
||||||
$ docker-compose up -d
|
$ docker-compose up -d
|
||||||
|
|
||||||
> **Note:** You can also use the file for a one-off command without setting
|
> **Note:** You can also use the file for a one-off command without setting
|
||||||
> an environment variable by passing the `-f` flag, e.g.
|
> an environment variable. You do this by passing the `-f` flag, e.g.,
|
||||||
> `docker-compose -f production.yml up -d`.
|
> `docker-compose -f production.yml up -d`.
|
||||||
|
|
||||||
### Deploying changes
|
### Deploying changes
|
||||||
|
|
||||||
When you make changes to your app code, you'll need to rebuild your image and
|
When you make changes to your app code, you'll need to rebuild your image and
|
||||||
recreate your app containers. If the service you want to redeploy is called
|
recreate your app's containers. To redeploy a service called
|
||||||
`web`, this will look like:
|
`web`, you would use:
|
||||||
|
|
||||||
$ docker-compose build web
|
$ docker-compose build web
|
||||||
$ docker-compose up --no-deps -d web
|
$ docker-compose up --no-deps -d web
|
||||||
|
|
||||||
This will first rebuild the image for `web` and then stop, destroy and recreate
|
This will first rebuild the image for `web` and then stop, destroy, and recreate
|
||||||
*just* the `web` service. The `--no-deps` flag prevents Compose from also
|
*just* the `web` service. The `--no-deps` flag prevents Compose from also
|
||||||
recreating any services which `web` depends on.
|
recreating any services which `web` depends on.
|
||||||
|
|
||||||
### Run Compose on a single server
|
### Running Compose on a single server
|
||||||
|
|
||||||
You can use Compose to deploy an app to a remote Docker host by setting the
|
You can use Compose to deploy an app to a remote Docker host by setting the
|
||||||
`DOCKER_HOST`, `DOCKER_TLS_VERIFY` and `DOCKER_CERT_PATH` environment variables
|
`DOCKER_HOST`, `DOCKER_TLS_VERIFY`, and `DOCKER_CERT_PATH` environment variables
|
||||||
appropriately. [Docker Machine](https://docs.docker.com/machine) makes managing
|
appropriately. For tasks like this,
|
||||||
local and remote Docker hosts very easy, and is recommended even if you're not
|
[Docker Machine](https://docs.docker.com/machine) makes managing local and
|
||||||
deploying remotely.
|
remote Docker hosts very easy, and is recommended even if you're not deploying
|
||||||
|
remotely.
|
||||||
|
|
||||||
Once you've set up your environment variables, all the normal `docker-compose`
|
Once you've set up your environment variables, all the normal `docker-compose`
|
||||||
commands will work with no extra configuration.
|
commands will work with no further configuration.
|
||||||
|
|
||||||
### Run Compose on a Swarm cluster
|
### Running Compose on a Swarm cluster
|
||||||
|
|
||||||
[Docker Swarm](https://docs.docker.com/swarm), a Docker-native clustering
|
[Docker Swarm](https://docs.docker.com/swarm), a Docker-native clustering
|
||||||
system, exposes the same API as a single Docker host, which means you can use
|
system, exposes the same API as a single Docker host, which means you can use
|
||||||
Compose against a Swarm instance and run your apps across multiple hosts.
|
Compose against a Swarm instance and run your apps across multiple hosts.
|
||||||
|
|
||||||
Compose/Swarm integration is still in the experimental stage, and Swarm is still
|
Compose/Swarm integration is still in the experimental stage, and Swarm is still
|
||||||
in beta, but if you're interested to try it out, check out the
|
in beta, but if you'd like to explore and experiment, check out the
|
||||||
[integration guide](https://github.com/docker/compose/blob/master/SWARM.md).
|
[integration guide](https://github.com/docker/compose/blob/master/SWARM.md).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user