环境需求
编写 dockerfile
备注: 内容太长, 写在自己的电脑上了
流程:
1,yum 安装基础服务, 如 gcc,make,openssl
2,nginx1.14.0 安装
3,PHP-7.1.19 安装
4,supervisord 监听 nginx,PHP 服务
5,#docker 防止中文乱码
6, 安装 crontabs 服务
echo "/1 * bash /data/shell/check_supervisord.sh>> /root/check_supervisord.log">> /var/spool/cron/root
7, 必须 要将 crond 给自启动, 不然进入容器还是不执行
- RUN systemctl enable crond
- build
- docker build -t 192.168.1.232/library/nginx-PHP:v1.14_v7.1.19 -f Dockerfile-nginx-PHP .
- docker_run
- docker run --privileged -itd --name PHP-test4 --mount type=bind,src=/data/www,dst=/data/www --mount type=bind,src=/mnt,dst=/mnt -p 801:80 192.168.1.232/library/nginx-PHP:v1.14_v7.1.19
查看: docker ps -l
进入容器: ps -ef 看是否正常启动
错误:
- [root@b78ec7459ebb PHP-7.1.19]# systemctl start supervisord
- Failed to get D-Bus connection: Operation not permitted
解决:
docker run --privileged -itd --name PHP-test4 --mount type=bind,src=/data/www,dst=/data/www --mount type=bind,src=/mnt,dst=/mnt -p 801:80 192.168.1.232/library/nginx-PHP:v1.14_v7.1.19
错误:
为什么创建容器, 不执行 crontab -l 的内容呢
解决: dockerfile 时需要将 systemctl enable crond 开机启动
来源: http://www.bubuko.com/infodetail-2906998.html