php镜像制作
来源:原创
时间:2020-09-21
作者:脚本小站
分类:PHP
Dockerfile:
FROM centos:centos7 RUN yum install epel-release -y && rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm \ && yum -y remove php* \ && yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-devel php72w-pear \ && yum install gcc make autoconf libc-dev pkg-config openssl openssl-devl glibc-headers gcc-c++ gcc-g77 libyaml-devel libssh2 libssh2-devel -y RUN sh -c '/bin/echo -e "\n" | sh pecl install ssh2-1.0' && sh -c '/bin/echo "extension=ssh2.so" > /etc/php.d/ssh2.ini' RUN sh -c '/bin/echo -e "\n" | sh pecl install yaml' && sh -c '/bin/echo "extension=yaml.so" > /etc/php.d/yaml.ini' RUN sh -c '/bin/echo -e "\nyes\nyes\nyes\nyes" | sh pecl install swoole' && sh -c '/bin/echo "extension=swoole.so" > /etc/php.d/swoole.ini' RUN yum install nginx -y && yum install supervisor -y && yum install net-tools -y COPY run.sh /root/ COPY nginx.conf /etc/nginx/nginx.conf COPY devops.conf /etc/nginx/conf.d/ EXPOSE 80 443 CMD ["sh","/root/run.sh"]
run.sh
#/bin/bash /usr/bin/supervisord -c /etc/supervisord.conf & /usr/sbin/php-fpm --nodaemonize --fpm-config /etc/php-fpm.conf & /usr/sbin/nginx "-g" "daemon off;"
devops.conf
server { listen 80; server_name _; root /var/www/html/devops; index index.php index.html; error_page 404 /404.html; location = /404.html { return 404 'Sorry, File not Found!'; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/html/index.html; } access_log /var/log/nginx/access.log main; location / { try_files $uri @rewrite; } location @rewrite { set $static 0; if ($uri ~ \.(css|js|jpg|jpeg|png|gif|ico|woff|eot|svg|css\.map|min\.map)$) { set $static 1; expires max; } if ($static = 0) { rewrite ^/(.*)$ /index.php?s=/$1; } } location ~ \.php/ { if ($request_uri ~ ^(.+\.php)(/.+?)($|\?)) { } fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_NAME $1; fastcgi_param PATH_INFO $2; fastcgi_param SCRIPT_FILENAME $document_root$1; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
nginx.conf
user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; include /etc/nginx/conf.d/*.conf; }
构建镜像即可。