|
@@ -510,6 +510,13 @@ class Service(object):
|
|
|
|
|
|
return volumes_from
|
|
|
|
|
|
+ def get_logging_options(self):
|
|
|
+ logging_dict = self.options.get('logging', {})
|
|
|
+ return {
|
|
|
+ 'log_driver': logging_dict.get('driver', ""),
|
|
|
+ 'log_opt': logging_dict.get('options', None)
|
|
|
+ }
|
|
|
+
|
|
|
def _get_container_create_options(
|
|
|
self,
|
|
|
override_options,
|
|
@@ -523,6 +530,8 @@ class Service(object):
|
|
|
for k in DOCKER_CONFIG_KEYS if k in self.options)
|
|
|
container_options.update(override_options)
|
|
|
|
|
|
+ container_options.update(self.get_logging_options())
|
|
|
+
|
|
|
if self.custom_container_name() and not one_off:
|
|
|
container_options['name'] = self.custom_container_name()
|
|
|
elif not container_options.get('name'):
|
|
@@ -590,10 +599,9 @@ class Service(object):
|
|
|
def _get_container_host_config(self, override_options, one_off=False):
|
|
|
options = dict(self.options, **override_options)
|
|
|
|
|
|
- log_config = LogConfig(
|
|
|
- type=options.get('log_driver', ""),
|
|
|
- config=options.get('log_opt', None)
|
|
|
- )
|
|
|
+ logging_dict = options.get('logging', None)
|
|
|
+ log_config = get_log_config(logging_dict)
|
|
|
+
|
|
|
return self.client.create_host_config(
|
|
|
links=self._get_links(link_to_self=one_off),
|
|
|
port_bindings=build_port_bindings(options.get('ports') or []),
|
|
@@ -953,3 +961,12 @@ def build_ulimits(ulimit_config):
|
|
|
ulimits.append(ulimit_dict)
|
|
|
|
|
|
return ulimits
|
|
|
+
|
|
|
+
|
|
|
+def get_log_config(logging_dict):
|
|
|
+ log_driver = logging_dict.get('driver', "") if logging_dict else ""
|
|
|
+ log_options = logging_dict.get('options', None) if logging_dict else None
|
|
|
+ return LogConfig(
|
|
|
+ type=log_driver,
|
|
|
+ config=log_options
|
|
|
+ )
|