opensource
This commit is contained in:
24
cron-docker/entrypoint.sh
Normal file
24
cron-docker/entrypoint.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
# 退出脚本,如果任何命令失败
|
||||
set -e
|
||||
|
||||
echo "--- 容器启动,执行初始化任务 ---"
|
||||
|
||||
# 检查构建脚本是否存在
|
||||
if [ ! -f "/app/scripts/build.sh" ]; then
|
||||
echo "错误: 构建脚本 /app/scripts/build.sh 未找到!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 1. 在容器启动时立即执行一次构建
|
||||
echo "执行首次构建..."
|
||||
/app/scripts/build.sh /app/scripts/work
|
||||
|
||||
echo "--- 初始化完成,启动 cron 服务 ---"
|
||||
|
||||
# 2. 执行 Dockerfile CMD 中定义的命令 (即 "crond -f -l 8")
|
||||
# exec 会用 CMD 的命令替换当前的 shell 进程,
|
||||
# 使得 crond 成为容器的主进程 (PID 1),能够正确接收和处理信号。
|
||||
# 这是保持容器运行的关键。
|
||||
exec "$@"
|
||||
Reference in New Issue
Block a user