SocketError: No such file or directory - connect(2) for /var/run/docker.sock

SocketError: No such file or directory - connect(2) for /var/run/docker.sock

我正在尝试 运行 rails 应用程序中的 docker 容器,但是我不断收到以下错误:-

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

Excon::Errors::SocketError: No such file or directory - connect(2) for /var/run/docker.sock (Errno::ENOENT)`

环境变量已设置

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,因此尚未创建套接字文件。您需要手动创建它。您可以使用命令:

eval "$(docker-machine env dev)"

然后 运行 你的 ruby 申请。

参考:

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

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