@@ -53,16 +53,16 @@ type client struct {
5353
5454// NewClient retrieves a new docker client
5555func NewClient (ctx context.Context , log log.Logger ) (Client , error ) {
56- return NewClientWithMinikube (ctx , "" , false , log )
56+ return NewClientWithMinikube (ctx , nil , false , log )
5757}
5858
5959// NewClientWithMinikube creates a new docker client with optionally from the minikube vm
60- func NewClientWithMinikube (ctx context.Context , currentKubeContext string , preferMinikube bool , log log.Logger ) (Client , error ) {
60+ func NewClientWithMinikube (ctx context.Context , kubectlClient kubectl. Client , preferMinikube bool , log log.Logger ) (Client , error ) {
6161 var cli Client
6262 var err error
6363
6464 if preferMinikube {
65- cli , err = newDockerClientFromMinikube (ctx , currentKubeContext )
65+ cli , err = newDockerClientFromMinikube (ctx , kubectlClient )
6666 if err != nil && err != errNotMinikube {
6767 log .Warnf ("Error creating minikube docker client: %v" , err )
6868 }
@@ -108,12 +108,12 @@ func newDockerClientFromEnvironment() (Client, error) {
108108 }, nil
109109}
110110
111- func newDockerClientFromMinikube (ctx context.Context , currentKubeContext string ) (Client , error ) {
112- if ! kubectl .IsMinikubeKubernetes (currentKubeContext ) {
111+ func newDockerClientFromMinikube (ctx context.Context , kubectlClient kubectl. Client ) (Client , error ) {
112+ if ! kubectl .IsMinikubeKubernetes (kubectlClient ) {
113113 return nil , errNotMinikube
114114 }
115115
116- env , err := GetMinikubeEnvironment (ctx )
116+ env , err := GetMinikubeEnvironment (ctx , kubectlClient . CurrentContext () )
117117 if err != nil {
118118 return nil , errors .Errorf ("can't retrieve minikube docker environment due to error: %v" , err )
119119 }
@@ -155,8 +155,8 @@ func newDockerClientFromMinikube(ctx context.Context, currentKubeContext string)
155155 }, nil
156156}
157157
158- func GetMinikubeEnvironment (ctx context.Context ) (map [string ]string , error ) {
159- out , err := command .Output (ctx , "" , expand .ListEnviron (os .Environ ()... ), "minikube" , "docker-env" , "--shell" , "none" )
158+ func GetMinikubeEnvironment (ctx context.Context , kubeContext string ) (map [string ]string , error ) {
159+ out , err := command .Output (ctx , "" , expand .ListEnviron (os .Environ ()... ), "minikube" , "docker-env" , "--shell" , "none" , "--profile" , kubeContext )
160160 if err != nil {
161161 if ee , ok := err .(* exec.ExitError ); ok {
162162 out = ee .Stderr
0 commit comments