gpt4 book ai didi

bash - docker-compose 忽略 DOCKER_HOST

转载 作者:行者123 更新时间:2023-12-02 18:45:09 24 4
gpt4 key购买 nike

我正在尝试在 Bash for Windows (WSL) 上运行 3 个 Docker 镜像、MySQL、Redis 和我的一个项目。

为此,我必须连接到在 Windows 上运行的 Docker 引擎,特别是在 tcp://locahost:2375 上。我已将以下行附加到 .bashrc:

export DOCKER_HOST=tcp://127.0.0.1:2375

我可以成功运行 docker 命令,例如 docker psdocker run hello-world 但每当我 cd进入我的项目目录并运行sudo docker-compose up --build 加载图像并启动容器时出现错误:

ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

我知道如果我使用 -H 参数我可以提供地址,但我宁愿找到一个更永久的解决方案。出于某种原因,docker-compose 似乎忽略了 DOCKER_HOST 环境变量,我不明白为什么..

最佳答案

您的问题是 sudo。它是一个与您的 shell 完全不同的程序,除非您特别指定,否则不会传输导出的环境。您可以在 /etc/sudoers(或 /etc/sudoers.d/docker)中添加以下行:

Defaults env_keep += DOCKER_HOST

或者你可以直接将它传递给命令行:

sudo DOCKER_HOST=$DOCKER_HOST docker-compose up --build 

关于bash - docker-compose 忽略 DOCKER_HOST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48973555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com