ContainerSolutions / minimesos

The experimentation and testing tool for Apache Mesos - NO LONGER MAINTANED!
https://www.minimesos.org
Apache License 2.0
429 stars 61 forks source link

docker-machine on Mac - /var/run/docker.sock failures #536

Closed tysonnorris closed 7 years ago

tysonnorris commented 7 years ago

Hi - I'm trying to run minimesos 0.13.0 using docker-machine on Mac.

I consistently get org.newsclub.net.unix.AFUNIXSocketException: Permission denied (socket: /var/run/docker.sock) when I run minimesos up

since the docker.sock is causing permission problems, and my other containers (also running docker) work fine with DOCKER_HOST=tcp://:, I tried changing the minimesos script to use --env DOCKER_HOST=${DOCKER_HOST}

However, this causes another problem of:

java.lang.NullPointerException
    at com.github.dockerjava.core.DefaultDockerClientConfig.checkDockerHostScheme(DefaultDockerClientConfig.java:98)
    at com.github.dockerjava.core.DefaultDockerClientConfig.<init>(DefaultDockerClientConfig.java:87)
    at com.github.dockerjava.core.DefaultDockerClientConfig$Builder.build(DefaultDockerClientConfig.java:451)
    at com.containersol.minimesos.docker.DockerClientFactory.build(DockerClientFactory.java:26)
    at com.containersol.minimesos.docker.DockerContainersUtil.getContainers(DockerContainersUtil.java:48)
    at com.containersol.minimesos.mesos.MesosClusterContainersFactory.loadRunningCluster(MesosClusterContainersFactory.java:75)

Looking at the dockerjava code, it looks like a possible problem with: https://github.com/ContainerSolutions/minimesos/blob/master/minimesos/src/main/java/com/containersol/minimesos/docker/DockerClientFactory.java#L18

which may be better to do: `DefaultDockerClientConfig.Builder builder = new DefaultDockerClientConfig. createDefaultConfigBuilder();

(so that it can rely on DOCKER_HOST env as needed)

WDYT?

tysonnorris commented 7 years ago

FYI - I was able to get around this by using overlay2 storage driver in my docker-machine vm:

docker-machine create -d virtualbox --engine-storage-driver=overlay2 minimesos
tysonnorris commented 7 years ago

Also... found that if I changed the minimesos launch script to use:

docker run --privileged --userns=host

it also works when storage driver is aufs (was not required for overlay2 driver ^^^)