| 51 | } |
| 52 | |
| 53 | func (f *dockerV20ClientFactory) get(ctx context.Context, config config.DockerConfig, logger log.Logger) (dockerClient, error) { |
| 54 | if config.Execution.DockerLaunchConfig.ContainerConfig == nil || config.Execution.DockerLaunchConfig.ContainerConfig.Image == "" { |
| 55 | return nil, message.NewMessage(message.EDockerConfigError, "no image name specified") |
| 56 | } |
| 57 | |
| 58 | dockerClient, err := f.getDockerClient(ctx, config) |
| 59 | if err != nil { |
| 60 | return nil, err |
| 61 | } |
| 62 | |
| 63 | return &dockerV20Client{ |
| 64 | config: config, |
| 65 | dockerClient: dockerClient, |
| 66 | logger: logger, |
| 67 | |
| 68 | backendFailuresMetric: f.backendFailuresMetric, |
| 69 | backendRequestsMetric: f.backendRequestsMetric, |
| 70 | }, nil |
| 71 | } |
| 72 | |
| 73 | type dockerV20Client struct { |
| 74 | config config.DockerConfig |