~brianlbaird/charms/trusty/pgw/trunk

« back to all changes in this revision

Viewing changes to README.md

  • Committer: brianlbaird at gmail
  • Date: 2016-02-05 22:20:29 UTC
  • Revision ID: brianlbaird@gmail.com-20160205222029-02ix51avl6eozbmx
update pgw relation in metadata

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Charm Layer for Docker
 
2
 
 
3
This repository contains the Charm layer for docker, which can be used as a
 
4
base layer for other Charms that use docker.  Please refer to the
 
5
[Juju composer docs](https://jujucharms.com/docs/devel/authors-charm-composing).
 
6
 
 
7
## Usage
 
8
 
 
9
In a charm that wants to use docker, the integration can be as simple as placing
 
10
the following in your charm's `compose.yaml`:
 
11
 
 
12
    includes: ['layer:docker']
 
13
 
 
14
From here, you simply amend any hooks/reactive patterns you require to deliver
 
15
and manage the lifecycle of your applications docker image.
 
16
 
 
17
### States
 
18
 
 
19
The docker layer raises a few synthetic events:
 
20
 
 
21
- docker.ready
 
22
 
 
23
- docker.available
 
24
 
 
25
##### docker.ready
 
26
 
 
27
When docker.ready is set, this event is before we signify to other
 
28
layers that we are ready to start workloads, which should allow for
 
29
docker extensions to be installed free of disrupting active workloads.
 
30
 
 
31
For example, installing SDN support and getting the daemon configured
 
32
for TCP connections.
 
33
 
 
34
```
 
35
@when('docker.ready')
 
36
def start_flannel_networking():
 
37
    # do something here
 
38
```
 
39
 
 
40
##### docker.available
 
41
 
 
42
When docker.available is set, the daemon is considered fully configured
 
43
and ready to accept workloads.
 
44
 
 
45
```
 
46
@when('docker.available')
 
47
def start_my_workload():
 
48
    # do something with docker
 
49
```
 
50
 
 
51
### Docker Compose
 
52
 
 
53
 This layer installs the 'docker-compose' python package from pypi. So
 
54
once the Docker layer is installed you have the ability to use [Docker
 
55
Compose](https://docs.docker.com/compose/) functionality such as control files,
 
56
and logging.
 
57
 
 
58
### Memory Accounting
 
59
The charm supports altering the GRUB2 options enabling CGROUPS and memory
 
60
accounting. Changing this value will reboot the host, and any running workloads
 
61
are at the mercy of the charm author inheriting from this charm. Please use
 
62
`--restart=always` on your container runs that need to be persistent.
 
63
 
 
64
### charms.docker
 
65
 
 
66
This layer also includes a wheelhouse of `charms.docker` a python library to make
 
67
charming with docker, and configuring the docker daemon much easier, and syntactically
 
68
enjoyable. For more information about this library see the [project](http://github.com/juju-solutions/charms.docker)
 
69
 
 
70
## Credit
 
71
 
 
72
This charm contains a slightly modified copy of the script contained at:
 
73
[https://get.docker.io](https://get.docker.io)
 
74
 
 
75
The modifications were raising status messages for Juju so its apparent what is
 
76
happening to the end user following along with Juju's extended status feature.