From 415d0d3c32d43618033e45cc8e2a43a76f7c6001 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Thu, 10 May 2018 13:32:38 +0100 Subject: [PATCH] Update to allow the new locations for Docker for Mac socket paths Signed-off-by: Justin Cormack --- src/cmd/linuxkit/run_hyperkit.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/cmd/linuxkit/run_hyperkit.go b/src/cmd/linuxkit/run_hyperkit.go index 5ed4919f3..4e84190ae 100644 --- a/src/cmd/linuxkit/run_hyperkit.go +++ b/src/cmd/linuxkit/run_hyperkit.go @@ -259,8 +259,22 @@ func runHyperKit(args []string) { netMode := strings.SplitN(*networking, ",", 3) switch netMode[0] { case hyperkitNetworkingDockerForMac: - h.VPNKitSock = filepath.Join(os.Getenv("HOME"), "Library/Containers/com.docker.docker/Data/s50") - vpnkitPortSocket = filepath.Join(os.Getenv("HOME"), "Library/Containers/com.docker.docker/Data/s51") + oldEthSock := filepath.Join(os.Getenv("HOME"), "Library/Containers/com.docker.docker/Data/s50") + oldPortSock := filepath.Join(os.Getenv("HOME"), "Library/Containers/com.docker.docker/Data/s51") + newEthSock := filepath.Join(os.Getenv("HOME"), "Library/Containers/com.docker.docker/Data/vpnkit.eth.sock") + newPortSock := filepath.Join(os.Getenv("HOME"), "Library/Containers/com.docker.docker/Data/vpnkit.port.sock") + _, err := os.Stat(oldEthSock) + if err == nil { + h.VPNKitSock = oldEthSock + vpnkitPortSocket = oldPortSock + } else { + _, err = os.Stat(newEthSock) + if err != nil { + log.Fatalln("Cannot find Docker for Mac network sockets. Install Docker or use a different network mode.") + } + h.VPNKitSock = newEthSock + vpnkitPortSocket = newPortSock + } case hyperkitNetworkingVPNKit: if len(netMode) > 1 { // Socket path specified, try to use existing VPNKit instance