python - Docker:容器永久重启
问题描述
我是整个 Docker Container 主题的新手,目前正在尝试通过 bash 脚本在 shell 中运行多个 python 脚本(因为就同时运行多个 python 脚本而言,这似乎是最简单的事情)。在此之前,我通过以下 Dockerfile 构建我的图像
FROM debian:buster-slim
ENV PACKAGES1="build-essential git python3"
RUN apt-get update && \
apt-get install -y $PACKAGES1
COPY /mnt /mnt
CMD [ "/bin/bash", "/mnt/setup_bash.sh" ]
执行setup_bash.sh
#! /bin/bash
python3 script1.py &
python3 script2.py &
运行生成的容器后,他不断重新启动并且不保持活动状态。同时该docker logs
命令没有显示任何错误,所以我有点不知道是什么问题。
解决方案
系统主进程退出,所以docker被杀死。您正在后台运行两个进程,并且主 bash 脚本退出。你可以:
- 在前台运行一个脚本,或者
- 运行
sleep infinity
以保持主脚本运行 - 重构这一切,对于复杂的设置考虑使用服务管理,比如
supervisord
与选项 2 一样:
#! /bin/bash
python3 script1.py &
python3 script2.py &
sleep infinity # don't quit
推荐阅读
- autohotkey - (Autohotkey)需要帮助来选择带有“+1”东西的不同 Excel 单元格.. 或者我不知道如何调用它
- c++ - C++,指针,抛出异常:读取访问冲突。这是 0xFFFFFFFFFFFFFFFF5F
- javascript - 如何引用第一张纸中的一行?
- zig - 如何在 zig 中创建 2d 容器数组?
- vue.js - 如何在渲染功能中使用 v-slider 的 slot append?
- python-3.x - 有没有办法直接使用 python-3 自动将 .png 文件图像插入 .xlsb 文件?
- android - 为什么我无法从 Android 上的 GoogleMap Marker 获取触摸事件?
- genome - 如何显示 CTCF 结合位点重叠的统计显着性
- excel - 使用 Excel VBA 计算精确匹配
- c# - PrintScreen 和 BitBlt 导致屏幕闪烁