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

Ubuntu环境下Docker Compose V2执行docker compose up常无限挂起求助

Docker Compose up无限挂起排查方案(Ubuntu 22.04)

以下是针对单容器运行正常但docker compose up无响应的排查步骤:

  • 验证Compose配置文件语法
    执行docker compose config检查docker-compose.yml是否存在语法错误,若配置有误会直接输出具体问题点,避免因配置文件格式问题导致的无响应。

  • 查看详细运行日志
    启动Compose时添加--verbose参数获取调试日志:

    docker compose up --verbose
    

    日志会显示执行到哪一步(拉取镜像、创建网络、初始化容器等),定位挂起的具体阶段。

  • 检查Docker服务端日志
    在另一个终端实时查看Docker服务日志:

    journalctl -u docker.service -f
    

    同时执行docker compose up,观察服务端是否有报错或异常信息,排查底层运行问题。

  • 验证containerd运行状态
    Docker依赖containerd作为容器运行时,检查其状态:

    systemctl status containerd
    

    若存在异常,重启containerd后重试:

    sudo systemctl restart containerd
    
  • 排查网络与防火墙限制

    • 检查Ubuntu防火墙(ufw)是否阻止Docker网络操作:执行sudo ufw status,确保Docker相关规则已放行;
    • 查看iptables nat表规则:sudo iptables -t nat -L,确认存在DOCKER相关链,若缺失可重启Docker服务重建规则。
  • 测试最简Compose配置
    创建极简配置文件test-compose.yml:

    version: '3.8'
    services:
      hello:
        image: hello-world
    

    执行docker compose -f test-compose.yml up,若该配置正常运行,说明原配置文件存在逻辑问题(如依赖服务未就绪、端口冲突等)。

  • 检查磁盘与权限

    • 执行df -h查看/var/lib/docker所在分区剩余空间,确保有足够空间拉取镜像或存储容器数据;
    • 确认当前用户在docker用户组中:groups | grep docker,若不在可执行sudo usermod -aG docker $USER后重新登录,或临时用sudo docker compose up排除权限问题。
  • 排除Wayland环境干扰
    若使用Wayland窗口系统,尝试切换至Xorg会话(登录时选择Ubuntu on Xorg),或设置环境变量强制Docker使用unix套接字:

    export DOCKER_HOST=unix:///var/run/docker.sock
    

    再执行Compose命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 06:10:25