From cc5b40e54e65b09e169e53932427dfd9e4d3e0f0 Mon Sep 17 00:00:00 2001 From: Michael Schurter Date: Mon, 3 Oct 2016 15:22:10 -0700 Subject: [PATCH] Only launch syslog server if container uses syslog --- client/driver/docker.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/client/driver/docker.go b/client/driver/docker.go index f1ad0bae9..18359d46c 100644 --- a/client/driver/docker.go +++ b/client/driver/docker.go @@ -791,12 +791,18 @@ func (d *DockerDriver) Start(ctx *ExecContext, task *structs.Task) (DriverHandle PortLowerBound: d.config.ClientMinPort, PortUpperBound: d.config.ClientMaxPort, } - ss, err := exec.LaunchSyslogServer(executorCtx) - if err != nil { - return nil, fmt.Errorf("failed to start syslog collector: %v", err) + + // Only launch syslog server if we're going to use it! + syslogAddr := "" + if len(driverConfig.Logging) == 0 || driverConfig.Logging[0].Type == "syslog" { + ss, err := exec.LaunchSyslogServer(executorCtx) + if err != nil { + return nil, fmt.Errorf("failed to start syslog collector: %v", err) + } + syslogAddr = ss.Addr } - config, err := d.createContainer(ctx, task, driverConfig, ss.Addr) + config, err := d.createContainer(ctx, task, driverConfig, syslogAddr) if err != nil { d.logger.Printf("[ERR] driver.docker: failed to create container configuration for image %s: %s", image, err) pluginClient.Kill()