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

如何配置SpringBoot TestContainers以使用containerd替代Docker?

Docker Desktop启用containerd后TestContainers无法连接的解决方法

启用Docker Desktop的containerd后,docker daemon会被禁用,导致TestContainers运行测试时出现以下错误:

Error during callback
com.github.dockerjava.api.exception.DockerException: Status 502: Bad response from Docker engine

解决方案步骤:

  1. 定位Docker Desktop中containerd的套接字路径

    • macOS系统:/var/run/docker/containerd/containerd.sock
    • Windows(WSL2环境):WSL2内部路径为/run/docker/containerd/containerd.sock,Windows原生环境则用//./pipe/docker_containerd
  2. 配置TestContainers连接containerd
    编辑用户目录下的~/.testcontainers.properties文件,添加对应配置:

    # macOS或WSL2内部环境用这组配置
    docker.client.strategy=org.testcontainers.dockerclient.ContainerdDockerClientProviderStrategy
    docker.host=unix:///var/run/docker/containerd/containerd.sock
    
    # Windows原生环境替换为这行
    # docker.host=npipe:////./pipe/docker_containerd
    
  3. 验证配置
    重新运行TestContainers测试,确认错误消失。若仍有问题,检查Docker Desktop设置的「Features in Development」中,是否已勾选「Use containerd for pulling and storing images」确保containerd处于启用状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:59:52