亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP-FPM 不會從 Dockerfile 啟動

PHP-FPM 不會從 Dockerfile 啟動

PHP
哈士奇WWW 2023-06-24 16:13:18
我正在嘗試完成一些非常簡單的事情,我想使用 dockerfile 從 docker 容器啟動 php-fpm 服務。我的 dockerfile 內容發布在下面:   FROM debian    RUN apt-get update && apt-get install php -y && apt-get install php7.3-fpm -y && service php7.3-fpm start當我從 dockerfile 構建此映像并將其作為容器運行時,php-fpm 服務未激活。我什至嘗試使用 docker 的“交互模式”(-i arg)來確保在服務作為守護進程運行的情況下容器不會退出。我很困惑,因為我的 dockerfile 中的命令 RUN service php7.3-fpm start應該已經啟動了該服務。為了成功啟動容器內的服務,我實際上必須使用命令手動登錄docker exec -it #containerID bash并自己運行命令service php7.3-fpm start,然后服務才能工作并變為活動狀態。我不明白為什么 php-fpm 服務沒有從我的 Dockerfile 自動啟動,任何幫助將不勝感激。提前致謝!
查看完整描述

1 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

初步估計,像這樣的命令service在 Docker 中根本不起作用。

Docker 容器僅運行一個前臺進程。這通常不是一個初始化系統,或者如果是的話,它也足以處理一些雜務,例如僵尸進程清理。相反,Docker 映像僅包含文件系統映像和一些有關如何啟動該進程的元數據,但它不會保留任何正在運行的進程。例如,如果你

RUN?service?php7.3-fpm?start

它可能會在某個文件中記錄該服務應該已啟動,但是一旦命令RUN完成,正在運行的進程就不再存在。

獲得正在運行的 PHP-FPM 設置的最簡單方法是使用Docker Hubphp映像:

FROM?php:7.3-fpm

這應該完成所有必需的設置,包括安排 FPM 服務器作為主容器命令運行;您只需要COPY輸入您的應用程序代碼即可。

如果您確實想自己運行它,則需要將其作為自定義映像的主要命令

CMD?["php-fpm"]

php:7.3-fpm正如Dockerfile中所做的那樣。


查看完整回答
反對 回復 2023-06-24
  • 1 回答
  • 0 關注
  • 294 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號