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

Docker Compose与Docker Run:相同配置下Compose容器异常退出

Docker Compose启动systemd容器退出码0的解决方法

问题根源:缺失cgroupns: host配置

你的docker run命令里明确指定了--cgroupns=host,但Docker Compose配置里没有对应设置——这就是容器启动后立即终止的核心原因。

debian/bookworm-systemd镜像依赖systemd作为PID 1进程,而systemd对cgroup命名空间有严格要求。如果未将cgroupns设为host,systemd完成初始化后会认为自身使命已完成,直接以退出码0正常终止容器。

修正后的Docker Compose配置

在服务节点下补上cgroupns: host,同时注意:单机使用Compose时,deploy.resources配置不生效,需将资源限制移到顶级resources节点下:

version: "3"
services:
  debian-ssh:
    container_name: WebVestaCPDebian
    image: debian/bookworm-systemd:latest
    privileged: true
    ports:
      - "1-65534:1-65534"
    networks:
      WebVestaCPDebian_NET:
        ipv4_address: x.x.x.x
    restart: always
    mac_address: "x:x:x:x:x"
    # 对应docker run的--cgroupns=host参数
    cgroupns: host
    # 单机模式下用resources配置资源限制,deploy.resources仅在Swarm集群生效
    resources:
      limits:
        cpus: '6'
        memory: 12G
    storage_opt:
      size: 100G
    volumes:
      - /data/WebVestaCPDebian/volume/home:/home
      - /sys/fs/cgroup:/sys/fs/cgroup:rw

networks:
  WebVestaCPDebian_NET:
    external: true

补充说明

  • 退出码0并非容器崩溃,是systemd在错误的cgroup环境下正常完成初始化后主动退出。
  • deploy.resources仅在Docker Swarm集群模式下生效,单机部署必须使用顶级resources节点配置资源限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:52:38