我通常喜欢在我的OSX上用brew管理我的应用程序

我能够安装docker, docker-compose和docker-machine

docker --version
Docker version 17.05.0-ce, build 89658be
docker-compose --version
docker-compose version 1.13.0, build unknown
docker-machine --version
docker-machine version 0.11.0, build 5b27455

我没有下载并运行“Docker for Mac”应用程序。

然而,当我试图跑

> docker run -d -p 80:80 --name webserver nginx
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.

我已经检查了袜子档案

ls -lah /var/run/docker.sock /var/tmp/docker.sock
ls: /var/run/docker.sock: No such file or directory
ls: /var/tmp/docker.sock: No such file or directory

我也尝试了这个建议的解决方案:Mac OS X sudo docker无法连接到docker守护进程。这个主机上是否运行docker守护进程?

但是我收到了这个错误信息:

$ eval $(docker-machine env default)
Host does not exist: "default"

有可能通过命令行工具来运行docker服务吗?


当前回答

这个问题:

$ brew install docker docker-machine
$ docker ps

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

这显然意味着要做到以下几点:

$ docker-machine create default # default driver is apparently vbox:
Running pre-create checks...
Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
$  brew cask install virtualbox
…
$ docker-machine create default 
# works this time
$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
$ eval "$(docker-machine env default)"
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

它终于成功了。

如果你不想安装虚拟机,你可以使用“xhyve”驱动。 你也可以安装“docker应用程序”(然后运行它),这显然使你不必运行上面的一些。酿造桶安装docker然后运行应用程序,看到其他答案。但显然这本身并不是必要的。

其他回答

我遇到了同样的问题,我用以下步骤解决了它:

docker-machine restart

退出终端(或iTerm2等)并重新启动

eval $(docker-machine env default)

我在这里也回答了

我也有同样的问题。Docker正在运行,但无法通过CLI访问它。

对我来说,这个问题是通过执行“Docker Quickstart Terminal.app”解决的。它位于“/Applications/Docker/”文件夹中。只要我在这个终端应用程序的实例中工作,Docker就可以完美地工作。如果需要第二个窗口,我必须再次运行“快速入门”应用程序。

我有一个用于Mac安装的Docker。因此,我不确定我的解决方案是否适用于Homebrew安装。

“Docker快速启动终端”应用程序似乎本质上是一些启动终端应用程序的applescripts和一个初始化所有必要环境变量的bash启动脚本。

希望这能帮助到其他人!

我有Mac操作系统,我打开Launchpad,选择docker应用程序。 从重置选项卡单击重启。

我在我的mac上也遇到了类似的问题,我发现docker没有在我的机器上运行,我只是去了应用程序,调用了whale,然后它就工作了。

这个问题:

$ brew install docker docker-machine
$ docker ps

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

这显然意味着要做到以下几点:

$ docker-machine create default # default driver is apparently vbox:
Running pre-create checks...
Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
$  brew cask install virtualbox
…
$ docker-machine create default 
# works this time
$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
$ eval "$(docker-machine env default)"
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

它终于成功了。

如果你不想安装虚拟机,你可以使用“xhyve”驱动。 你也可以安装“docker应用程序”(然后运行它),这显然使你不必运行上面的一些。酿造桶安装docker然后运行应用程序,看到其他答案。但显然这本身并不是必要的。