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

Mac M芯片环境下Testcontainers for C#无法连接Docker TCP端点求助

解决Testcontainers for C#连接远程Docker(M系列Mac)的端点检测问题

先确认网络连通性

  • 在Windows上打开PowerShell,执行:
    Test-NetConnection 10.211.55.2 -Port 2375
    
    如果显示TcpTestSucceeded: True,说明网络通;如果失败:
    • 检查Mac的防火墙设置,允许2375端口的入站TCP连接
    • 确认10.211.55.2是Mac当前的局域网IP(Mac上执行ipconfig getifaddr en0查看)

修正Testcontainers配置

你的Docker daemon使用无加密的HTTP模式,Testcontainers默认会尝试TLS验证,需要显式关闭:

  1. 找到Windows上的.testcontainers.properties文件(路径:C:\Users\<你的用户名>\.testcontainers.properties),修改内容为:
    docker.host=tcp://10.211.55.2:2375
    docker.tls.verify=false
    
  2. 或者在Windows系统环境变量中添加:
    • DOCKER_HOST=tcp://10.211.55.2:2375
    • DOCKER_TLS_VERIFY=0

验证Docker CLI连通性

在Windows上执行以下命令,确认能正常连接Mac的Docker:

docker -H tcp://10.211.55.2:2375 info

如果能返回你提供的Docker info内容,说明Docker层面连接正常,此时重启IDE或重新运行Testcontainers代码即可。

代码层面强制配置(可选测试用)

如果配置文件或环境变量没生效,可以在代码中直接指定配置:

using DotNet.Testcontainers.Builders;
using DotNet.Testcontainers.Configurations;

var testcontainersConfig = new TestcontainersConfiguration
{
    Endpoint = new Uri("tcp://10.211.55.2:2375"),
    TLS = false
};

var container = new ContainerBuilder()
    .WithConfiguration(testcontainersConfig)
    .WithImage("mcr.microsoft.com/mssql/server:2022-latest") // 替换为你需要的镜像
    .Build();

await container.StartAsync();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:03:31