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

Docker添加代理遇阻求助:无法访问config.json及命令报错

解决Docker TLS Handshake Timeout及代理配置问题

一、配置用户级Docker代理(无需操作root目录)

直接在个人用户目录下创建Docker配置文件,无需修改root权限的文件:

  1. 创建用户专属的Docker配置目录:
    mkdir -p ~/.docker
    
  2. 在~/.docker/config.json中写入代理配置,替换为公司实际代理地址:
    {
      "proxies": {
        "default": {
          "httpProxy": "http://你的代理IP:端口",
          "httpsProxy": "http://你的代理IP:端口",
          "noProxy": "localhost,127.0.0.1,公司内部域名"
        }
      }
    }
    
  3. 给配置文件设置安全权限:
    chmod 600 ~/.docker/config.json
    

二、解决sudo执行Docker时的代理生效问题

方法1:让sudo继承用户代理环境变量

编辑sudoers配置文件(必须用visudo避免语法错误):

sudo visudo

添加一行(替换为你的用户名sam2004):

Defaults!docker env_keep="HTTP_PROXY HTTPS_PROXY NO_PROXY"

保存退出后,在当前终端设置临时代理环境变量:

export HTTP_PROXY=http://你的代理IP:端口
export HTTPS_PROXY=http://你的代理IP:端口
export NO_PROXY=localhost,127.0.0.1,公司内部域名

之后执行sudo docker pull即可自动应用代理。

方法2:sudo执行时直接指定用户配置路径

你之前的命令参数顺序错误,正确写法是把--config放在具体Docker命令前:

sudo docker --config /home/sam2004/.docker pull [镜像名称]

示例(拉取nginx镜像):

sudo docker --config /home/sam2004/.docker pull nginx

三、验证代理配置是否生效

执行以下命令测试,若输出代理服务器IP则说明配置成功:

sudo docker run --rm alpine wget -O - http://icanhazip.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:57:03