31 lines
739 B
Python
31 lines
739 B
Python
import docker
|
|
import docker.unixconn
|
|
from docker.unixconn import unixconn
|
|
import requests
|
|
|
|
|
|
def _get_docker_api_version():
|
|
session = requests.Session()
|
|
session.mount(
|
|
"http+unix://",
|
|
docker.unixconn.unixconn.UnixAdapter(
|
|
"http+unix://var/run/docker.sock", 60))
|
|
response = session.get('/version')
|
|
try:
|
|
api_version = response.json()['ApiVersion']
|
|
except KeyError:
|
|
# For now, fall back to 1.10 as a safety net
|
|
api_version = '1.10'
|
|
return api_version
|
|
|
|
|
|
def _version_string_to_tuple(version):
|
|
return tuple([int(f) for f in version.split('.')])
|
|
|
|
|
|
class Dox(object):
|
|
|
|
|
|
def __init__(self):
|
|
self.client = docker.Client(version=_get_docker_api_version())
|