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

如何让DOCKER_HOST读取~/.ssh/config配置实现远程docker连接?

问题原因

你用的docker-compose 1.25.0是基于Python实现的旧版本,其依赖的paramiko库默认不会读取~/.ssh/config配置,因此会把你填写的hostname别名当成真实域名去解析,自然抛出域名无法解析的错误。你之前尝试使用DOCKER_CERT_PATH变量也有误,该变量是用于Docker TLS加密连接的配置,和SSH密钥无关,因此会触发TLS参数错误。

可行解决方法

方案1:直接填写完整SSH连接信息(无需修改软件版本)

把配置里的真实信息直接写到DOCKER_HOST变量中,同时指定SSH密钥对应的环境变量即可:

DOCKER_HOST="ssh://ubuntu@你的真实主机地址" DOCKER_SSH_IDENTITY_FILE=~/.ssh/google_compute_engine docker-compose up -d

方案2:升级docker-compose到2.x及以上版本

docker-compose 2.x之后改用Go语言实现,复用Docker原生的SSH连接逻辑,会自动读取~/.ssh/config里的配置,升级后直接执行你原来的命令即可正常运行:

DOCKER_HOST="ssh://hostname" docker-compose up -d

方案3:使用SSH代理简化配置

先将密钥添加到本地SSH代理中:

ssh-add ~/.ssh/google_compute_engine

之后直接使用带真实地址的DOCKER_HOST变量即可,不需要额外指定密钥参数:

DOCKER_HOST="ssh://ubuntu@你的真实主机地址" docker-compose up -d

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:45:01