NewClientWithMinikube creates a new docker client with optionally from the minikube vm
(ctx context.Context, kubectlClient kubectl.Client, preferMinikube bool, log log.Logger)
| 61 | |
| 62 | // NewClientWithMinikube creates a new docker client with optionally from the minikube vm |
| 63 | func NewClientWithMinikube(ctx context.Context, kubectlClient kubectl.Client, preferMinikube bool, log log.Logger) (Client, error) { |
| 64 | var cli Client |
| 65 | var err error |
| 66 | |
| 67 | if preferMinikube { |
| 68 | cli, err = newDockerClientFromMinikube(ctx, kubectlClient) |
| 69 | if err != nil && err != errNotMinikube { |
| 70 | log.Warnf("Error creating minikube docker client: %v", err) |
| 71 | } |
| 72 | } |
| 73 | if !preferMinikube || err != nil { |
| 74 | cli, err = newDockerClientFromEnvironment() |
| 75 | if err != nil { |
| 76 | log.Warnf("Error creating docker client from environment: %v", err) |
| 77 | |
| 78 | // Last try to create it without the environment option |
| 79 | cli, err = newDockerClient() |
| 80 | if err != nil { |
| 81 | return nil, errors.Errorf("Cannot create docker client: %v", err) |
| 82 | } |
| 83 | } |
| 84 | } |
| 85 | |
| 86 | cli.NegotiateAPIVersion(ctx) |
| 87 | return cli, nil |
| 88 | } |
| 89 | |
| 90 | func newDockerClient() (Client, error) { |
| 91 | cli, err := dockerclient.NewClientWithOpts() |
no test coverage detected