解決方法:1、排查容器內「/etc/init.d/crond status」是否為running狀態;2、修改「/etc/pam.d/crond」文件,將其中的「required 」修改為「sufficient」;3、利用「/etc/init.d/crond restart」重新啟動crond服務即可。
本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
docker怎麼解決crontab不生效
在docker中預設使用centos映像,在該映像中沒有安裝crond,透過yum安裝成功後,crontab沒有生效。
1、先排查容器內 /etc/init.d/crond status 是否為running狀態。
如果經過第一步還無法解決,參考下面的辦法:
2、修改/etc/pam.d/crond文件,將其中的required改為sufficient,然後重啟crond服務:/etc/init.d/crond restart
注意:在centos7的基礎鏡像裡面好像沒有該問題。
擴充知識
最早解
1、在宿主機裡面
1 3 * * * root cd /data/wwwroot/xxx && docker-compose exec app php think xxx >> /var/log/crontab_xxx.log
docker- compose exec app php think xxx一直執行不成功
2、然後在容器裡面安裝crontab,還是執行不成功,關鍵還沒有相關日誌。檢查crontab也是啟動的。 /etc/init.d/cron status
3、安裝rsyslog, apt-get install rsyslog, service rsyslog start
# 查看/var/log/syslog
Dec 25 09:07:07 1a8e4fd5c766 crontab[15120]: (root) BEGIN EDIT (root) Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) REPLACE (root) Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) END EDIT (root) Dec 25 09:08:01 1a8e4fd5c766 cron[15100]: (root) RELOAD (crontabs/root) Dec 25 09:08:01 1a8e4fd5c766 CRON[15133]: Cannot make/remove an entry for the sp# 查看/var/log/syslog
RUN sed -i '/session required pam_loginuid.so/c\#session required pam_loginuid.so' /etc/pam.d/crond
# 查看/var/log/syslog
/usr/local/bin/php think xxx# 查看/var/log/syslog
rrreee
4.修改/etc/pam.d/cron註解掉session required pam_loginuid.so
# 5、重新啟動cron,運作成功######還有就是,將這一行上是,將這一行加入dockerfile中###rrreee### crontab執行也遇到了一個坑,手動執行腳本沒有問題,因為讀取了環境變量,php要寫絕對路徑###rrreee###推薦學習:《## #docker影片教學###》###以上是docker怎麼解決crontab不生效的詳細內容。更多資訊請關注PHP中文網其他相關文章!

LXC是Docker的基礎,通過Linux內核的cgroups和namespaces實現資源和環境隔離。 1)資源隔離:cgroups限制CPU、內存等資源。 2)環境隔離:namespaces提供獨立的進程、網絡、文件系統視圖。

在Linux上使用Docker的最佳實踐包括:1.使用dockerrun命令創建和運行容器,2.利用DockerCompose管理多容器應用,3.定期清理未使用的鏡像和容器,4.採用多階段構建優化鏡像大小,5.限制容器資源使用提升安全性,6.遵循Dockerfile最佳實踐提高可讀性和維護性。這些實踐能幫助用戶高效使用Docker,避免常見問題並優化容器化應用。

在Linux上使用Docker可以提高開發和部署效率。 1.安裝Docker:使用腳本在Ubuntu上安裝Docker。 2.驗證安裝:運行sudodockerrunhello-world。 3.基本用法:創建Nginx容器dockerrun--namemy-nginx-p8080:80-dnginx。 4.高級用法:創建自定義鏡像,使用Dockerfile構建並運行。 5.優化與最佳實踐:使用多階段構建和DockerCompose,遵循編寫Dockerfile的最佳實踐。

Docker監控的核心在於收集和分析容器的運行數據,主要包括CPU使用率、內存使用、網絡流量和磁盤I/O等指標。通過使用Prometheus、Grafana和cAdvisor等工具,可以實現對容器的全面監控和性能優化。

DockerSwarm可用於構建可擴展和高可用性的容器集群。 1)初始化Swarm集群使用dockerswarminit。 2)加入Swarm集群使用dockerswarmjoin--token:。 3)創建服務使用dockerservicecreate--namemy-nginx--replicas3nginx。 4)部署複雜服務使用dockerstackdeploy-cdocker-compose.ymlmyapp。

如何利用Docker和Kubernetes進行企業應用的容器編排?通過以下步驟實現:創建Docker鏡像並推送到DockerHub。在Kubernetes中創建Deployment和Service以部署應用。使用Ingress管理外部訪問。應用性能優化和最佳實踐,如多階段構建和資源限制。

Docker常見問題可以通過以下步驟診斷和解決:1.查看容器狀態和日誌,2.檢查網絡配置,3.確保卷掛載正確。通過這些方法,可以快速定位並修復Docker中的問題,提升系統穩定性和性能。

Docker是DevOps工程師必備的技能。 1.Docker是開源的容器化平台,通過將應用程序及其依賴打包到容器中,實現隔離和可移植性。 2.Docker的工作原理包括命名空間、控制組和聯合文件系統。 3.基本用法包括創建、運行和管理容器。 4.高級用法包括使用DockerCompose管理多容器應用。 5.常見錯誤有容器無法啟動、端口映射問題和數據持久化問題,調試技巧包括查看日誌、進入容器和查看詳細信息。 6.性能優化和最佳實踐包括鏡像優化、資源限制、網絡優化和使用Dockerfile的最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver Mac版
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器