1 Like
技术杂记

技术杂记

24 PV1 Like技术杂记
好记性不如烂笔头. 记录各种技术上踩过的小坑. 一定是小坑啊喂!!!

定时任务执行 docker 脚本时不能带 -it 参数

前段时间给 LeetCode Trip 增加了一个定时任务, 即每天零点用 Algolia 提供的 docker 爬虫命令爬取网站内容, 用来做内容检索. docker 脚本如下:

docker run -it --env-file=.env -e "CONFIG=$(cat ./algolia-config.json | jq -r tostring)" algolia/docsearch-scraper

如果我手动执行这个脚本是没任何问题的, 但放在定时任务里死活不执行, 后来查了下原来是 -it 的原因. 稍微复习下, 当 -i -t 参数一起使用时, 会打开 Linux 命令交互界面. 而定时任务也好, CI/CD 环境也好, 是不可能打开一个交互界面的, 因此无法执行. 后面把 -it 去掉, 亲测解决了.

docker 容器意外停止时, 执行下面的命令恢复:

docker container ls -a # 找到所有的 container(不管正在运行的还是失效的, 如果不加 -a 只能看到所有正在运行的)

docker container start ID # 找到指定的 id, 重新 run 起来

清理 docker 无用的 container, image

docker container prune

docker image prune
浅谈 Server-Sent Events

PREVIOUS POST

浅谈 Server-Sent Events

    Search by