Skip to content

Commit 90bc8a9

Browse files
committed
Look for cri-dockerd instead of hardcoding
Some people install the daemon in /usr/local/bin, rather than under /usr/bin as the unit expects.
1 parent bd235db commit 90bc8a9

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

pkg/minikube/cruntime/docker.go

+11-1
Original file line numberDiff line numberDiff line change
@@ -688,6 +688,14 @@ const (
688688
CNICacheDir = "/var/lib/cni/cache"
689689
)
690690

691+
func getCriDockerdPath(cr CommandRunner) string {
692+
rr, err := cr.RunCmd(exec.Command("which", "cri-dockerd"))
693+
if err != nil {
694+
return "/usr/bin/cri-dockerd"
695+
}
696+
return strings.TrimSuffix(rr.Stdout.String(), "\n")
697+
}
698+
691699
func dockerConfigureNetworkPlugin(cr CommandRunner, networkPlugin string) error {
692700
// $ cri-dockerd --version
693701
// cri-dockerd 0.2.6 (d8accf7)
@@ -702,17 +710,19 @@ func dockerConfigureNetworkPlugin(cr CommandRunner, networkPlugin string) error
702710
networkPlugin = "cni"
703711
}
704712
opts := struct {
713+
ExecPath string
705714
NetworkPlugin string
706715
ExtraArguments string
707716
}{
717+
ExecPath: getCriDockerdPath(cr),
708718
NetworkPlugin: networkPlugin,
709719
ExtraArguments: args,
710720
}
711721

712722
const CRIDockerServiceConfFile = "/etc/systemd/system/cri-docker.service.d/10-cni.conf"
713723
var CRIDockerServiceConfTemplate = template.Must(template.New("criDockerServiceConfTemplate").Parse(`[Service]
714724
ExecStart=
715-
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin={{.NetworkPlugin}}{{.ExtraArguments}}`))
725+
ExecStart={{.ExecPath}} --container-runtime-endpoint fd:// --network-plugin={{.NetworkPlugin}}{{.ExtraArguments}}`))
716726

717727
b := bytes.Buffer{}
718728
if err := CRIDockerServiceConfTemplate.Execute(&b, opts); err != nil {

0 commit comments

Comments
 (0)