In [1]:
from docker import Client
cli = Client(base_url='unix://var/run/docker.sock')

In [10]:
cli.containers()


Out[10]:
[{'Command': 'python manage.py runserver 0.0.0.0:8000',
  'Created': 1477481951,
  'HostConfig': {'NetworkMode': 'bridge'},
  'Id': 'cd9bfb7ef56e8874bcb8c6373e66ff14214d12f1f50d585a0bb4d7fbf6f18671',
  'Image': 'domino_as',
  'ImageID': 'sha256:709b0eff0967d2c100e26e5da4583f1f062ea89e9304e4668965298ecaf98db7',
  'Labels': {'com.docker.compose.config-hash': 'fed88cb8a2a599faf7b9014e9fde4e34b70804cde393bb7e8ca59a87d1320ba4',
   'com.docker.compose.container-number': '1',
   'com.docker.compose.oneoff': 'False',
   'com.docker.compose.project': 'domino',
   'com.docker.compose.service': 'as',
   'com.docker.compose.version': '1.9.0dev'},
  'Mounts': [{'Destination': '/var/run/docker.sock',
    'Mode': 'rw',
    'Propagation': 'rprivate',
    'RW': True,
    'Source': '/var/run/docker.sock'},
   {'Destination': '/config',
    'Driver': 'local',
    'Mode': 'rw',
    'Name': 'domino_config',
    'Propagation': 'rprivate',
    'RW': True,
    'Source': '/var/lib/docker/volumes/domino_config/_data'},
   {'Destination': '/opt/anaconda',
    'Mode': 'rw',
    'Propagation': 'rprivate',
    'RW': True,
    'Source': '/home/kristian/.config/sublime-text-3/Packages/Anaconda'},
   {'Destination': '/usr/src/app',
    'Mode': 'rw',
    'Propagation': 'rprivate',
    'RW': True,
    'Source': '/home/kristian/dev/domino/app'}],
  'Names': ['/domino_as_1'],
  'NetworkSettings': {'Networks': {'bridge': {'Aliases': None,
     'EndpointID': '7ba27643e6bfd5d1e51124d4bcf681d0bfe3bf861ede5255eff91138e961fa96',
     'Gateway': '10.241.145.1',
     'GlobalIPv6Address': '',
     'GlobalIPv6PrefixLen': 0,
     'IPAMConfig': None,
     'IPAddress': '10.241.145.5',
     'IPPrefixLen': 24,
     'IPv6Gateway': '',
     'Links': None,
     'MacAddress': '02:42:0a:f1:91:05',
     'NetworkID': '8c6038f1c3cb735f4fd06818de2569741ae782d8d2671fbd9ff049cf31f73519'}}},
  'Ports': [{'IP': '0.0.0.0',
    'PrivatePort': 19360,
    'PublicPort': 19360,
    'Type': 'tcp'},
   {'IP': '0.0.0.0', 'PrivatePort': 8000, 'PublicPort': 80, 'Type': 'tcp'}],
  'State': 'running',
  'Status': 'Up 28 minutes'},
 {'Command': '/docker-entrypoint.sh postgres',
  'Created': 1477481946,
  'HostConfig': {'NetworkMode': 'bridge'},
  'Id': 'dad50396073aff70448ce754f49ea06a35c7d93421b3fc18df00419e4056895a',
  'Image': 'postgres:9.6',
  'ImageID': 'sha256:e0656cea22fe36eea504c06f59f0b8235ecbe582d0149c437426ee97862205f9',
  'Labels': {'com.docker.compose.config-hash': 'bbd2380d430e6dcb17e7a23d6f59652a3180ba086eda9f7bad61676c77319bac',
   'com.docker.compose.container-number': '1',
   'com.docker.compose.oneoff': 'False',
   'com.docker.compose.project': 'domino',
   'com.docker.compose.service': 'db',
   'com.docker.compose.version': '1.9.0dev'},
  'Mounts': [{'Destination': '/var/lib/postgresql/data',
    'Driver': 'local',
    'Mode': '',
    'Name': '5a56c2459427d21a8d7248cb0fc18166461fd4ec211606503ab701c40cbbce79',
    'Propagation': '',
    'RW': True,
    'Source': '/var/lib/docker/volumes/5a56c2459427d21a8d7248cb0fc18166461fd4ec211606503ab701c40cbbce79/_data'}],
  'Names': ['/domino_db_1',
   '/domino_as_1/db',
   '/domino_as_1/db_1',
   '/domino_as_1/domino_db_1'],
  'NetworkSettings': {'Networks': {'bridge': {'Aliases': None,
     'EndpointID': '6aeee7d38feb4bae6a0c277cbc87cb24576bc54c803dbaf40d99da7fcc7f0134',
     'Gateway': '10.241.145.1',
     'GlobalIPv6Address': '',
     'GlobalIPv6PrefixLen': 0,
     'IPAMConfig': None,
     'IPAddress': '10.241.145.2',
     'IPPrefixLen': 24,
     'IPv6Gateway': '',
     'Links': None,
     'MacAddress': '02:42:0a:f1:91:02',
     'NetworkID': '8c6038f1c3cb735f4fd06818de2569741ae782d8d2671fbd9ff049cf31f73519'}}},
  'Ports': [{'IP': '0.0.0.0',
    'PrivatePort': 5432,
    'PublicPort': 5432,
    'Type': 'tcp'}],
  'State': 'running',
  'Status': 'Up 28 minutes'}]

In [17]:
cli.events()


<generator object _stream_helper at 0x7fab2c0b4e10>

In [ ]:
container = cli.create_container(image='xtermjs', detach=True,
                                 host_config=cli.create_host_config(port_bindings={3000: 3000}))

In [ ]:
cli.start(container=container.get()

In [2]:
import tempfile

fp = tempfile.TemporaryFile()
fp.write(b"etfseges")


Out[2]:
8

In [4]:
fp.name


Out[4]:
51

In [ ]: