1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
Metadata-Version: 1.1
Name: docker
Version: 2.5.1
Summary: A Python library for the Docker Engine API.
Home-page: https://github.com/docker/docker-py
Author: Joffrey F
Author-email: joffrey@docker.com
License: Apache License 2.0
Description: Docker SDK for Python
=====================
|Build Status|
A Python library for the Docker Engine API. It lets you do anything the
``docker`` command does, but from within Python apps – run containers,
manage containers, manage Swarms, etc.
Installation
------------
The latest stable version `is available on
PyPI <https://pypi.python.org/pypi/docker/>`__. Either add ``docker`` to
your ``requirements.txt`` file or install with pip:
::
pip install docker
If you are intending to connect to a docker host via TLS, add
``docker[tls]`` to your requirements instead, or install with pip:
::
pip install docker[tls]
Usage
-----
Connect to Docker using the default socket or the configuration in your
environment:
.. code:: python
import docker
client = docker.from_env()
You can run containers:
.. code:: python
>>> client.containers.run("ubuntu:latest", "echo hello world")
'hello world\n'
You can run containers in the background:
.. code:: python
>>> client.containers.run("bfirsh/reticulate-splines", detach=True)
<Container '45e6d2de7c54'>
You can manage containers:
.. code:: python
>>> client.containers.list()
[<Container '45e6d2de7c54'>, <Container 'db18e4f20eaa'>, ...]
>>> container = client.containers.get('45e6d2de7c54')
>>> container.attrs['Config']['Image']
"bfirsh/reticulate-splines"
>>> container.logs()
"Reticulating spline 1...\n"
>>> container.stop()
You can stream logs:
.. code:: python
>>> for line in container.logs(stream=True):
... print line.strip()
Reticulating spline 2...
Reticulating spline 3...
...
You can manage images:
.. code:: python
>>> client.images.pull('nginx')
<Image 'nginx'>
>>> client.images.list()
[<Image 'ubuntu'>, <Image 'nginx'>, ...]
`Read the full documentation <https://docker-py.readthedocs.io>`__ to
see everything you can do.
.. |Build Status| image:: https://travis-ci.org/docker/docker-py.svg?branch=master
:target: https://travis-ci.org/docker/docker-py
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Other Environment
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Utilities
Classifier: License :: OSI Approved :: Apache Software License
|