Docker部署Coder工作空间创建失败问题排查求助
问题根源分析
报错核心是Sysbox-fs无法写入容器内的/proc/sys/net/core/default_qdisc文件,原因通常集中在以下几点:
- 宿主机内核版本不满足Sysbox运行要求,或未启用必要的网络调度模块
- Sysbox Runtime未正确安装或配置
- Coder容器未关联Sysbox Runtime,导致无法正常访问宿主机内核参数
解决步骤
1. 修复宿主机内核参数
- 在宿主机执行命令,确认
default_qdisc参数是否存在:cat /proc/sys/net/core/default_qdisc - 如果提示文件不存在,先加载网络调度模块并临时设置参数:
sudo modprobe sch_fq_codel echo fq_codel | sudo tee /proc/sys/net/core/default_qdisc - 为让设置永久生效,编辑
/etc/sysctl.conf添加以下内容:
执行net.core.default_qdisc = fq_codelsudo sysctl -p使配置立即生效。
2. 确认Sysbox Runtime安装状态
- 检查Sysbox是否安装成功:
sysbox-runc --version - 若未安装,执行官方安装脚本完成部署:
curl -s https://get.sysbox.io | sudo bash - 验证Docker是否识别Sysbox Runtime:
正常输出应包含docker info | grep -i sysboxsysbox-runc在运行时列表中。
3. 调整Coder的Docker Compose配置
确保docker-compose.yml中Coder服务指定了Sysbox Runtime,示例配置片段:
services: coder: image: codercom/coder:1.35.0 runtime: sysbox-runc privileged: true volumes: - /var/run/docker.sock:/var/run/docker.sock - ./coder-data:/home/coder ports: - "7080:7080"
- 重启Coder服务:
docker-compose down && docker-compose up -d
4. 重新创建工作空间
删除已创建失败的工作空间容器,从Coder UI重新创建codercom/enterprise-jupyter镜像的工作空间,验证流程是否正常完成。
内容的提问来源于stack exchange,提问作者Kim Tang
相关产品推荐
相关产品推荐

