blob: 63e85d36358088cd2fe85c2d0275612eaf7a3e76 [file] [log] [blame]
Docker SDK for Python
=====================
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.
For more information about the Engine API, `see its documentation <https://docs.docker.com/engine/reference/api/docker_remote_api/>`_.
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
Getting started
---------------
To talk to a Docker daemon, you first need to instantiate a client. You can use :py:func:`~docker.client.from_env` to connect using the default socket or the configuration in your environment:
.. code-block:: python
import docker
client = docker.from_env()
You can now run containers:
.. code-block:: python
>>> client.containers.run("ubuntu", "echo hello world")
'hello world\n'
You can run containers in the background:
.. code-block:: python
>>> client.containers.run("bfirsh/reticulate-splines", detach=True)
<Container '45e6d2de7c54'>
You can manage containers:
.. code-block:: 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-block:: python
>>> for line in container.logs(stream=True):
... print line.strip()
Reticulating spline 2...
Reticulating spline 3...
...
You can manage images:
.. code-block:: python
>>> client.images.pull('nginx')
<Image 'nginx'>
>>> client.images.list()
[<Image 'ubuntu'>, <Image 'nginx'>, ...]
That's just a taste of what you can do with the Docker SDK for Python. For more, :doc:`take a look at the reference <client>`.
.. toctree::
:hidden:
:maxdepth: 2
client
configs
containers
images
networks
nodes
plugins
secrets
services
swarm
volumes
api
tls
user_guides/index
change-log