Need help with docker-py?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

5.4K Stars 1.5K Forks Apache License 2.0 3.2K Commits 445 Opened issues


A Python library for the Docker Engine API

Services available


Need anything else?

Contributors list

Docker SDK for Python

Build Status

A Python library for the Docker Engine API. It lets you do anything the

command does, but from within Python apps – run containers, manage containers, manage Swarms, etc.


The latest stable version is available on PyPI. Either add

to your
file or install with pip:
pip install docker

If you are intending to connect to a docker host via TLS, add

to your requirements instead, or install with pip:
pip install docker[tls]


Connect to Docker using the default socket or the configuration in your environment:

import docker
client = docker.from_env()

You can run containers:

>>>"ubuntu:latest", "echo hello world")
'hello world\n'

You can run containers in the background:

>>>"bfirsh/reticulate-splines", detach=True)

You can manage containers:

>>> client.containers.list()
[, , ...]

>>> container = client.containers.get('45e6d2de7c54')

>>> container.attrs['Config']['Image'] "bfirsh/reticulate-splines"

>>> container.logs() "Reticulating spline 1...\n"

>>> container.stop()

You can stream logs:

>>> for line in container.logs(stream=True):
...   print(line.strip())
Reticulating spline 2...
Reticulating spline 3...

You can manage images:

>>> client.images.pull('nginx')

>>> client.images.list() [, , ...]

Read the full documentation to see everything you can do.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.