SocketError:没有这样的文件或目录 – 连接(2)/var/run/docker.sock

我正在试图在rails应用程序中运行一个docker容器,但是我一直收到以下错误:

container = Docker::Container.create({'Image' => 'mitc/judge'})

Excon :: Errors :: SocketError:没有这样的文件或目录 – connect(2)for /var/run/docker.sock(Errno :: ENOENT)

环境variables已设置

bash-3.2$ env | grep DOCKER DOCKER_HOST=tcp://192.168.99.100:2376 DOCKER_TLS_VERIFY=1 DOCKER_CERT_PATH=/Users/ayushlodha/.docker/machine/machines/dev

容器能够运行hello world

bash-3.2$ docker run mitc/judge /bin/echo 'Hello world' Hello world bash-3.2$ docker run -it mitc/judge judge@4a19cdd8b328:/tmp/judge$

我正在使用Mac和Kitematic。 我错过了什么?

由于您正在使用Kitematic,套接字文件尚未创build。 你需要手动创build它。 你可以使用这个命令:

 eval "$(docker-machine env dev)" 

然后运行你的ruby应用程序。

参考:

https://github.com/swipely/docker-api

https://github.com/kitematic/kitematic/issues/517