通过Portainer启动的容器约20分钟后自动退出问题咨询
Portainer闲置后退出并终止容器的排查与解决
核心排查点与解决步骤
检查Portainer容器的启动参数
确保启动Portainer时没有添加--rm参数,这个参数会让容器停止后直接被删除,若Portainer进程意外退出,容器会被清理,可能导致关联的容器管理进程中断。正确的启动命令示例:docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce重点关注
--restart=always(容器退出时自动重启)和持久化挂载portainer_data:/data(保存Portainer配置)。确认容器自动重启策略
运行docker inspect portainer | grep -A 3 RestartPolicy查看当前重启策略,正常输出应为:"RestartPolicy": { "Name": "always", "MaximumRetryCount": 0 }如果
Name是no,执行docker update --restart=always portainer修改策略。检查系统资源限制
部分系统会对闲置进程进行资源回收(如OOM Killer),可通过dmesg | grep -i oom查看是否有Portainer进程被系统杀死的记录。如果是资源不足问题,可通过docker update --memory=512m portainer为Portainer分配足够内存。验证容器独立性
进入Portainer界面,查看通过它启动的其他容器配置,确保没有错误设置与Portainer容器的依赖关系(如depends_on或强制网络绑定)——正常情况下,容器生命周期相互独立,Portainer退出不应导致其他容器终止。
额外说明
若以上步骤无法解决问题,建议重新安装Portainer,严格使用官方推荐的启动命令,避免手动修改默认配置引发异常。
内容的提问来源于stack exchange,提问作者DreadFog
相关产品推荐
相关产品推荐

