Docker:如果在Cronjob中打电话,找不到命令

发布于 2025-02-05 05:02:38 字数 368 浏览 3 评论 0原文

在我的服务器(QNAP)上,我可以运行docker:

$ docker -v
Docker version 20.10.11-qnap6, build 90a753c

如果我想在crontab中运行同一docker命令,

$ sudo crontab -e
* * * * * docker -v >> /root/cron.log

我确实会得到错误日志

/bin/bash: docker: command not found

,我不明白为什么docker不能用作crontab作业,但是如果我运行,则可以使用直接。

On my server (QNAP) I can run docker:

$ docker -v
Docker version 20.10.11-qnap6, build 90a753c

If I want to run the same docker command in a crontab

$ sudo crontab -e
* * * * * docker -v >> /root/cron.log

I do get the error log

/bin/bash: docker: command not found

I do not understand why docker cannot be used as a crontab job, but it works, if I run it directly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南街九尾狐 2025-02-12 05:02:38

您应该首先运行:

whereis docker

mine是:

/usr/bin/docker

然后修改crontab文件如下:

* * * * * /usr/bin/docker -v >> /root/cron.log

您还可以像这样更改crontab文件(在您的crontab命令上方):

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

在您的情况下的完整示例:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * docker -v >> /root/cron.log

You should first run:

whereis docker

Mine is:

/usr/bin/docker

Then modify crontab file as below:

* * * * * /usr/bin/docker -v >> /root/cron.log

You also can change crontab file like this (above your crontab commands):

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

The complete sample in your case:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * docker -v >> /root/cron.log
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文