环境需求
编写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 看是否正常启动
错误:
[[email protected] 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://blog.51cto.com/jacksoner/2338198