This package provides Python bindings for Orchard, letting you manage Docker hosts for a particular account and interact with an individual host using docker-py.
$ pip install orchard
The orchard
package provides two methods for instantiating an API client:
>>> import orchard
>>> orchard.with_token(my_token)
<orchard.client.Client object at 0x101de0d10>
>>> orchard.with_username_and_password(my_username, my_password)
<orchard.client.Client object at 0x102244e10>
Once you've instaniated a Client
object, the hosts
property lets you list, create and delete hosts:
>>> client.hosts
[<Host: default>, <Host: host2>]
>>> client.hosts[0]
<Host: default>
>>> client.hosts["host2"]
<Host: host2>
>>> host3 = client.hosts.create({"name": "host3"})
>>> host3
<Host: host3>
>>> host3.delete()
To get a docker-py instance for a host, call host.docker()
:
>>> docker = client.hosts["default"].docker()
>>> docker.containers()
[]
>>> c = docker.create_container("ubuntu", "date")
>>> docker.start(c['Id'])
>>> docker.wait(c['Id'])
0
>>> docker.logs(c['Id'])
'Mon Oct 28 15:42:56 UTC 2013\n'
>>> docker.remove_container(c['Id'])
See the docker-py README for a full list of methods.