如何配置Docker Run命令实现容器每5分钟强制重启?
解决Docker容器重启间隔设置问题
Docker原生的--restart参数(包括always)并不支持自定义重启间隔,要实现每5分钟尝试一次重启,推荐用systemd服务来管理你的Metabase容器,具体步骤如下:
1. 清理原有容器
先停止并删除当前运行的Metabase容器:
docker stop metabase-prod && docker rm metabase-prod
2. 创建systemd服务配置文件
新建一个systemd服务文件,路径为/etc/systemd/system/metabase-prod.service,写入以下内容:
[Unit] Description=Metabase Production Container After=docker.service Requires=docker.service [Service] Restart=always RestartSec=300 # 300秒=5分钟,设置重启间隔 ExecStart=/usr/bin/docker run -p 10000:3000 --name metabase-prod metabase/metabase ExecStop=/usr/bin/docker stop metabase-prod ExecStopPost=/usr/bin/docker rm metabase-prod [Install] WantedBy=multi-user.target
3. 启用并启动服务
执行以下命令让systemd加载新配置,设置开机自启并启动服务:
systemctl daemon-reload systemctl enable --now metabase-prod
说明
RestartSec=300是核心配置,指定容器退出后,systemd会等待5分钟再尝试重启- 服务文件里的
ExecStart保留了你原来容器的端口映射和名称配置,仅去掉了-d(systemd会自动管理后台运行)和--restart=always(改用systemd的重启策略)
内容的提问来源于stack exchange,提问作者Mike Abbey
相关产品推荐
相关产品推荐

