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

OpenCPU/RStudio Docker容器启动后不久因SIGWINCH错误终止

解决Windows下OpenCPU/RStudio Docker容器自动终止(SIGWINCH错误)问题

问题现象

在Windows系统中运行官方opencpu/rstudio镜像,启动约1分钟后容器因捕获SIGWINCH信号自动终止,期间无任何操作,日志关键输出:

[Wed Feb 21 17:27:40.950533 2024] [mpm_prefork:notice] [pid 25] AH00170: caught SIGWINCH, shutting down gracefully
Terminated

原因分析

SIGWINCH信号通常用于通知进程终端窗口大小变化,但此处无操作却触发该信号,大概率是Windows环境下Docker伪终端(-t参数)的交互异常导致容器收到意外信号。

解决步骤

方法1:移除伪终端参数,后台运行容器

原命令使用-t分配伪终端,Windows环境下该参数可能引发信号异常。修改命令为:

docker run -d -p 80:80 -p 8004:8004 opencpu/rstudio
  • -d:让容器在后台运行,避免TTY交互带来的信号问题
  • 容器启动后可通过docker logs <容器ID>查看运行状态

方法2:如需交互,使用-it并保持终端稳定

如果需要与容器交互,保留-it参数但确保启动容器的终端窗口不被最小化或调整大小:

docker run -it -p 80:80 -p 8004:8004 opencpu/rstudio

启动后尽量保持终端窗口状态不变,避免触发窗口大小变化信号。

方法3:修改Apache配置忽略SIGWINCH信号

如果上述方法无效,可自定义镜像修改Apache的信号处理:

  1. 创建Dockerfile:
FROM opencpu/rstudio
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf \
    && echo "SignalIgnore SIGWINCH" >> /etc/apache2/apache2.conf
  1. 构建自定义镜像:
docker build -t custom-opencpu .
  1. 运行自定义镜像:
docker run -d -p 80:80 -p 8004:8004 custom-opencpu

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:01:01