gpt4 book ai didi

docker - 如果不在root下运行,Docker cronjob权限不正确

转载 作者:行者123 更新时间:2023-12-02 19:35:37 25 4
gpt4 key购买 nike

我有一个运行Apache的docker容器。这是由root用户下的docker-compose开始的。在此容器中,de webserver在默认用户www-data下运行。通过conjob,我触发了用于上传图像的php脚本。如果cronjob在root下运行,则效果很好。但是我想让conjob在www-data下运行,以便上载的文件与通过apache直接上载的文件具有相同的所有者。

我使用以下cronjob(有效):

*/1 * * * * docker exec apache_1 php /var/www/import

但是,当我将cronjob用户更改为www-data时(不再触发):
*/1 * * * * www-data docker exec apache_1 php /var/www/import

在最后一个cronjob中,不再触发容器内的php脚本。我相信这与权限设置有关吗?

最佳答案

如果希望import命令由容器内的www-data执行,请将其指定给docker:

*/1 * * * * docker exec --user www-data apache_1 php /var/www/import

使用您尝试过的内容,用户www-data无权运行docker命令。而且,您没有这样的选项来在 crontab -e中指定用户名(您尝试执行的操作应该在/ etc / crontab中,或使用su / sudo)。

关于docker - 如果不在root下运行,Docker cronjob权限不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45447983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com