我在Debian 11机器上安装了Docker Desktop for Linux。
安装后,我无法使用docker-compose或laravel sail。错误是:
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
DOCKER_HOST env变量未设置。
Docker CLI仍然可以正常工作。
有人能帮我吗?先谢了
2条答案
按热度按时间irtuqstp1#
编辑:
最快、最干净的方法:
在Docker Desktop设置的“常规”部分中选中“启用Docker Compose V1/V2兼容模式”。
顶级域名:
1.运行命令
docker context ls
以发现新主机。1.复制与 desktop-Linux 上下文对应的 DOCKER ENDPOINT
export DOCKER_HOST={your docker endpoint}
(这只对当前终端会话有效,系统重启时配置将丢失)详细回答及说明:
docker-compose
(使用它的命令是docker compose
,不带连字符)。为了避免这种情况,我们屏蔽了本地机器上的Docker引擎服务,并创建了一个新的context。
由于本地 Docker 服务已被屏蔽,因此它不再在您的本地计算机上运行。
如果你想使用Docker Engine而不是Docker Desktop,可以将context切换到默认context。这样你的本地docker-compose就可以像以前一样工作。
另一种方法是将本地 docker-compose 连接到新虚拟机上的 Docker Desktop 主机。
这可以通过两种方式实现:
1.通过使用环境变量,如上面TLDR部分所述。
1.通过将主机地址传递给 docker-compose 命令:
docker-compose -H {your docker endpoint} COMMAND
k97glaaz2#
3.然后给予docker-compose up -d
会成功