为了方便开发,打算创建一个基于docker的LNMP环境,这样无论是换电脑,还是统一团队的开发环境,就方便多了。
编排了一个docker-compose.yaml文件,里面有nginx、php-fpm、mysql、redis等服务,除了php-fpm其它都搞定了
说一下过程:
php:7.x-fpm
,创建镜像和容器,与其它容器的服务连接都没有问题RUN docker-php-ext-install gd
来安装,提示缺少libpng
库yum install -y libpng
来装,提示yum
是未知命令rpm xxx
来安装yum
,提示rpm
是未知命令。。。于是换了个思路,打算基于centos
镜像来创建自己的php-fpm
镜像,于是乎:
centos 7.x
镜像,进入容器下载php源码包,编译、安装一切顺利php-fpm
服务docker-compose
中的command
和entrypoint
分别定义了命令(不是同时):/path/to/sbin/php-fpm -y /path/to/etc/php-fpm.conf
,容器启动的时候服务启动失败,提示信息相当于输入了:php-fpm -h
,全是相关的参数说明感觉这个问题是因为php-fpm
处于sbin
目录中,应该是超级用户才可以运行,但是容器启动的时候执行command
或者entrypoint
并不是超级用户,所以就运行失败
这导致我每次启动容器编排后,还得进入php容器手动开启服务才行
实在不知道该怎么办了,期望各位大神能给点提示:
1.怎样让centos
容器启动时自动开启php-fpm
服务?
2.或者不采用这个思路,换用其它解决思路也行
实在感激不尽,谢谢~
墨色风雨
慕码人2483693