為了方便開發(fā),打算創(chuàng)建一個基于docker的LNMP環(huán)境,這樣無論是換電腦,還是統(tǒng)一團(tuán)隊的開發(fā)環(huán)境,就方便多了。
編排了一個docker-compose.yaml文件,里面有nginx、php-fpm、mysql、redis等服務(wù),除了php-fpm其它都搞定了
說一下過程:
首先是pull官方的php鏡像php:7.x-fpm,創(chuàng)建鏡像和容器,與其它容器的服務(wù)連接都沒有問題
但是這個鏡像支持的PHP擴展(extension)實在太少了,很多常用的都沒有(比如gd庫)
通過 Dockerfile中設(shè)置 RUN docker-php-ext-install gd來安裝,提示缺少libpng庫
進(jìn)入容器用yum install -y libpng來裝,提示yum是未知命令
通過rpm xxx來安裝yum,提示rpm是未知命令。。。
于是換了個思路,打算基于centos鏡像來創(chuàng)建自己的php-fpm鏡像,于是乎:
pull官方的centos 7.x鏡像,進(jìn)入容器下載php源碼包,編譯、安裝一切順利
啟動容器,發(fā)現(xiàn)不能自動開啟php-fpm服務(wù)
在docker-compose中的command和entrypoint分別定義了命令(不是同時):/path/to/sbin/php-fpm -y /path/to/etc/php-fpm.conf,容器啟動的時候服務(wù)啟動失敗,提示信息相當(dāng)于輸入了:php-fpm -h,全是相關(guān)的參數(shù)說明
感覺這個問題是因為php-fpm處于sbin目錄中,應(yīng)該是超級用戶才可以運行,但是容器啟動的時候執(zhí)行command或者entrypoint并不是超級用戶,所以就運行失敗這導(dǎo)致我每次啟動容器編排后,還得進(jìn)入php容器手動開啟服務(wù)才行
實在不知道該怎么辦了,期望各位大神能給點提示:1.怎樣讓centos容器啟動時自動開啟php-fpm服務(wù)?2.或者不采用這個思路,換用其它解決思路也行
實在感激不盡,謝謝~
- 3 回答
- 0 關(guān)注
- 2089 瀏覽
添加回答
舉報
0/150
提交
取消