diff options
author | Leonid Mirsky <leonidlm@gmail.com> | 2014-08-05 11:40:08 +0300 |
---|---|---|
committer | Leonid Mirsky <leonidlm@gmail.com> | 2014-08-05 11:40:08 +0300 |
commit | 019468dad8330f183e06a9d030701b3906bfc73e (patch) | |
tree | c850292971edb096ea0b012dd9bb78ad6d2ec90c | |
parent | 14f9c07b01b57b58b447bd6a1145d1c0e1a72f88 (diff) | |
download | docker-py-019468dad8330f183e06a9d030701b3906bfc73e.tar.gz |
Adding units specification to mem_limit variable
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | docker/client.py | 8 |
2 files changed, 10 insertions, 0 deletions
@@ -81,6 +81,8 @@ more information on how to create port bindings and volume mappings. The `environment` variable accepts a dictionary or a list of strings in the following format `["PASSWORD=xxx"]` or `{"PASSWORD": "xxx"}`. +The `mem_limit` variable accepts float values (which represent the memory limit of the created container in bytes) or a string with a units identification char ('1000k', 128m', '1g'). + `volumes_from` and `dns` arguments raise TypeError exception if they are used against v1.10 of docker remote API. Those arguments should be passed to `start()` instead. diff --git a/docker/client.py b/docker/client.py index a7f1f49..22aedf5 100644 --- a/docker/client.py +++ b/docker/client.py @@ -111,6 +111,14 @@ class Client(requests.Session): '{0}={1}'.format(k, v) for k, v in environment.items() ] + if isinstance(mem_limit, six.string_types): + units = {'k': 1024, + 'm': 1024*1024, + 'g': 1024*1024*1024} + suffix = mem_limit[-1].lower() + if suffix in units.keys(): + mem_limit = int(mem_limit[:-1]) * units[suffix] + if isinstance(ports, list): exposed_ports = {} for port_definition in ports: |