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


当前回答

这对我来说很管用:

open --background -a Docker

需要几秒钟才能连接到docker。

我用的是Mac OS大苏尔。

其他回答

在受支持的Mac上运行:

brew install --cask docker

然后启动Docker应用程序。单击下一步。它将要求特权访问。确认。鲸鱼图标应该出现在顶部栏。点击它,等待“Docker is running”出现。

你现在应该可以运行docker命令了:

docker ps

因为docker是一个系统级包,你不能使用brew install安装它,而必须使用——cask。

注意:此解决方案仅适用于cpu支持虚拟化的mac,可能不包括旧的mac。

编辑2022 -评论区提到Docker Desktop的许可有了变化。请考虑以下替代方案,并查看评论以了解详细信息。

我有最新的docker, docker说它在运行,诊断很好。我需要取消一些遗留环境变量(感谢https://docs.docker.com/docker-for-mac/troubleshoot/#workarounds-for-common-problems)

unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_TLS_VERIFY

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

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

准备docker:

docker run hello-world

打开Docker Desktop对我来说很有用。

安装Docker桌面表单

https://www.docker.com/products/docker-desktop/

转到右上角的设置

转到一般 登录时勾选“开始Docker桌面”