本文目錄一覽:
docker-compose啟動php-fpm報錯問題
當你的機子關閉了ipv6啟動php-fpm會出現:
address family not supported by protocol
魯莽解決方法用命令 find / -name zz-docker.conf 找到配置文件位置
直接修改listen = [::]:9000 為 listen = 0.0.0.0:9000
官方DockerFIle:
一般正確做法是修改建立新的dockerfile,
sed “s/[::]:/0.0.0.0:/g” zz-docker.conf
(/var/lib/docker/aufs/diff/864a8992572a0791d45316907d130acaff7f61fe878662b3937c49477496d85c/usr/local/etc/php-fpm.d/zz-docker.conf)
另外解決方法就是不用compose,而是建立Dockerfile文件,裏面跑ubuntu,nginx等,然後順便安裝phpfpm,相當於一個鏡像,這樣和外部本機ipv6環境無關啦。
docker在正式線上環境的使用一般是怎樣的
1.分別製作好apache,php鏡像
2.在新機器安裝好docker和compose
3.使用compose管理啟動apache和php鏡像
docker php-fpm 一直重啟問題處理
使用 docker-compose up -d 啟動 php-fpm 容器後會發現容器成功啟動之後會馬上關閉。由於設置了 restart: always 會導致容器再次啟動然後關閉
官方 php-fpm : 7.1 鏡像,使用自定義的 php-fpm 配置。
php-fpm 配置是從現有生產服務器上複製過來的。配置沒有問題。
看log,發現fpm正常啟動了,然後馬上就退出
跟鏡像中自帶的 php-fpm.conf 比較發現鏡像中使用 daemonize = no ,而我自定義配置中 daemonize = yes 是後台運行的。
那麼很明顯官方鏡像是故意使用 daemonize = no 不讓 fpm 在後台中運行,進而阻止容器退出
修改 php-fpm.conf 中如下
daemonize = no
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/219542.html