You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

切换Docker上下文后未生效,受DOCKER_HOST环境变量覆盖求助

解决Docker上下文切换被DOCKER_HOST覆盖的问题

核心原因

Docker的优先级规则是:环境变量DOCKER_HOST > 已激活的上下文 > DOCKER_CONTEXT环境变量。只要DOCKER_HOST存在,无论切换哪个上下文,都会被它覆盖,导致上下文配置不生效。

具体解决步骤

1. 彻底清除DOCKER_HOST环境变量

不要修改它的值,直接清空:

  • Linux/macOS终端:
unset DOCKER_HOST
  • Windows PowerShell:
Remove-Item Env:DOCKER_HOST
  • Windows CMD:
set DOCKER_HOST=

2. 验证上下文是否生效

执行命令确认当前激活的上下文:

docker context show

如果输出为ryukote-docker-server,再运行docker info查看输出里的Name字段,应该对应目标上下文的配置。

3. 永久生效(可选)

如果不想每次打开终端都手动操作,找到设置DOCKER_HOST的配置文件删除相关行:

  • Linux/macOS:检查~/.bashrc、~/.zshrc、~/.profile等文件
  • Windows:检查系统环境变量设置,或PowerShell配置文件$PROFILE

4. 临时指定上下文(无需清空DOCKER_HOST)

如果需要保留DOCKER_HOST,每次执行命令时可通过--context参数强制指定:

docker --context ryukote-docker-server info

为什么之前修改DOCKER_HOST没用?

你修改后的DOCKER_HOST值和目标上下文的配置不匹配,且只要该环境变量存在,Docker就会优先使用它,完全不会读取上下文的配置。

内容的提问来源于stack exchange,提问作者Ryukote

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 13:29:52