Linux部署docker镜像之PHP项目的Dockerfile步骤
项目语言PHP7.4、MariaDB/MySQL、Nginx、Redis
一、Dockerfile FROM centos:7 MAINTAINER 作者姓名 邮箱 可忽略 #设置容器时间和宿主主机一致 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone #安装PHP7.4 RUN yum install epel-release -y RUN rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm RUN yum --enablerepo=remi-php74 install php -y RUN yum --enablerepo=remi-php74 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-cli php-common php-redis php-ldap php-mysql php-mysqli php-pdo php-fpm php-devel php-zip php-opcache -y RUN sed -i 's/^user\ =\ apache/user\ =\ nginx/' /etc/php-fpm.d/www.conf RUN sed -i 's/^group\ =\ apache/group\ =\ nginx/' /etc/php-fpm.d/www.conf RUN sed -i 's/^;listen\.owner\ =\ nobody/listen\.owner\ =\ nobody/' /etc/php-fpm.d/www.conf RUN sed -i 's/^;listen\.group\ =\ nobody/listen\.group\ =\ nobody/' /etc/php-fpm.d/www.conf RUN sed -i 's/^;listen\.mode\ =\ 0660/listen\.mode\ =\ 0660/' /etc/php-fpm.d/www.conf #安装Nginx RUN yum install nginx -y #复制项目Nginx配置 COPY ./website.conf /etc/nginx/conf.d/website.conf #复制项目 RUN mkdir -p /var/www/website COPY ./website/ /var/www/website COPY ./init.sh /var/www/website/init.sh RUN chmod -R 777 /var/www/website RUN ln -s /var/www/website/admin/upload /var/www/website/api/upload
二、Docker部署步骤 1、项目编译成镜像 请cd到和Dockerfile同目录; 例如:cd /home/docker docker build -t website:latest . 2、查看镜像并创建容器 docker images #端口8081在website.conf中设定 #--privileged是给权限 不然进入容器systemctl命令没有权限 #-v /home/docker/upload:/var/www/website/admin/upload 路径需要根据项目目录而定 上传的附件映射到宿主主机 #-v /sys/fs/cgroup:/sys/fs/cgroup 解决权限问题 #/usr/sbin/init 解决权限问题 不能省略 docker run -it -p 8089:8081 --privileged --name web-site -v /home/docker/upload:/var/www/website/admin/upload -v /sys/fs/cgroup:/sys/fs/cgroup -d website:latest /usr/sbin/init 3、查看容器 docker ps -a 4、进入容器并启动服务 docker exec -it web-site /bin/bash /var/www/website/init.sh 5、查看容器运行日志 docker logs -f web-site 6、查看容器接口情况 curl http://127.0.0.1:8081/api/index.php/common/faqCate 7、查看宿主接口情况 curl http://127.0.0.1:8089/api/index.php/common/faqCate
posted on 2022-12-22 14:55 loveking_阳 阅读(1263) 评论(0) 编辑 收藏 举报