mirror of https://github.com/docker/docker-py.git
				
				
				
			
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
| 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
 |