我通常喜欢在我的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服务吗?


当前回答

docker-machine现在已经弃用了,我发现Colima是一个很好的替代品,你可以用一个简单的命令轻松连接docker守护进程:

brew install docker docker-compose colima
# make coffee
colima start

准备docker:

docker run hello-world

其他回答

我只需要运行spotlight搜索并在brew cask安装创建的/Applications文件夹下执行Docker应用程序。一旦运行,它要求完成安装。然后我就可以运行docker ps了

在OSX上确保你已经启动Docker应用程序

docker ps

或者docker build…等等……是的,这看起来很奇怪,有点误导

docker --version

给出版本,即使docker守护进程没有运行…其他版本的CMDS也是如此…我只是遇到了同样的症状…OSX上的这种行为与linux上不同

我运行brew安装docker-machine;那么问题就解决了。最新版本的docker不包含docker-machine。

在更新版本的VirtualBox (6.1.32r149290)中,命令docker-machine create——driver VirtualBox默认不工作,有一个自动生成虚拟机IP的错误,解释在这里https://stackoverflow.com/a/69745931/2917630。

docker-machine create——driver virtualbox——virtualbox-host -cidr "192.168.59.3/24" default。

你应该执行安装docker的脚本,并从命令行启动它:

brew install --cask docker
sudo -H pip3 install --upgrade pip3
open -a Docker
docker-compose ... 

在那之后,docker-compose就可以工作了