You need to enable JavaScript to run this app. Docker-in-Docker内执行docker container ls报错server misbehaving
优惠活动
大模型
产品
解决方案
定价
更多

Docker-in-Docker内执行docker container ls报错server misbehaving

报错原因

  • 你使用的无后缀docker:20.10镜像仅内置Docker客户端,默认不会启动Docker服务端进程,客户端默认会尝试连接tcp://docker:2375地址的服务端
  • 首次执行时可正常运行,大概率是当时环境满足以下任一条件:无意中挂载了宿主机的/var/run/docker.sock到容器内、环境变量DOCKER_HOST指向了可达的Docker服务端地址、容器网络内存在名为docker且开放了2375端口的服务端主机
  • 本次执行时上述条件失效,容器的DNS服务无法解析docker主机名,因此抛出解析失败报错

解决方案

根据使用场景选择对应方案即可:

方案1:用容器内客户端操作宿主机Docker服务

启动时挂载宿主机的Docker套接字文件,容器内客户端会直接通过套接字和宿主机服务端通信:

docker run -it -v /var/run/docker.sock:/var/run/docker.sock docker:20.10

方案2:使用完全隔离的Docker-in-Docker环境

需要使用带dind后缀的镜像,同时授予特权权限,镜像启动后会自动运行内部的Docker服务端:

docker run -it --privileged docker:20.10-dind

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 09:06:03