docker - Docker:设置超时并使用错误代码退出
问题描述
超时后如何使 Docker 容器退出并显示错误代码?
我有一个 Dockerfile,它使用ubuntu
图像并将脚本文件从我的目录复制到图像,最后在容器中执行脚本。
FROM ubuntu
WORKDIR /usr/bin/
COPY ./example.py .
RUN chmod +x example.py
ENTRYPOINT ["python3", "example.py"]
然后我运行构建命令:
docker build -t demo .
运行容器:
docker run -it --rm demo
我不确定成功执行 example.py 脚本需要多长时间,但我想在 1 小时后退出容器。如果 example.py 脚本在 1 小时内成功执行,那么没关系,否则我想退出并显示错误代码。
解决方案
您可以timeout
像这样使用命令:
ENTRYPOINT ["timeout", "3600", "python3", "example.py"]
如果python3 example.py
花费超过 1 小时(3'600 秒),将返回错误(退出代码 124)。
推荐阅读
- python - 无法在 Windows 上为 Py 3.7 安装 pycurl
- reactjs - CreateContext 挂钩不允许渲染任何其他组件
- docker - 删除 .../docker/overlay2 目录下的孤立文件夹(哈希)是否安全
- reactjs - 如何为“内部项目”拥有“子”package.json
- gnuplot - 如何摆脱gnuplot右侧的线?
- swift - 如何使用 API 调用数据更新视图
- mysql - 这在mysql中是否可行(连接两个表并过滤掉重复数据)
- c# - 从 AspNetIdentity IdentityUser 中删除属性
- python - 不要在 .loc[] datetimeIndex 过滤中包含下边框
- python - 在python中修改txt文件