docker 安装php
# 下载php-fpm镜像 ( 版本信息可查看 https://hub.docker.com/ )docker pull php:fpm-alpine3.15 # 进入容器docker exec -it php-fpm_001 /bin/sh# 容器内php配置文件位置php-fpm.conf: /usr/local/etc/php-fpm.confwww.conf: /usr/local/etc/php-fpm.d/www.confphp.ini: /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini # 默认容器中没有php.ini 复制一份出来cd /usr/local/etc/phpcp php.ini-development php.ini# 宿主机本地创建php目录 /docker/php# 将容器内php配置文件复制到本地docker cp php-fpm_001:/usr/local/etc/php-fpm.conf /docker/php/php-fpm.confdocker cp php-fpm_001:/usr/local/etc/php-fpm.d/www.conf /docker/php/www.confdocker cp php-fpm_001:/usr/local/etc/php/php.ini /docker/php/php.ini# 启动php-fpm ( 本地的/docker/nginx/html映射到容器中/www )(和nginx配置中一致)# 映射php配置文件docker run --name php-fpm_001 \-v /docker/nginx/html:/www \-v /docker/php/php-fpm.conf:/usr/local/etc/php-fpm.conf \-v /docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf \-v /docker/php/php.ini:/usr/local/etc/php/conf.d/php.ini \-d php:fpm-alpine3.15# 查看容器IPdocker inspect 容器ID | grep '"IPAddress"'# nginx配置文件server { listen 80; server_name 127.0.0.1; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { # 这里的IP是php容器的IP fastcgi_pass 172.17.0.3:9000; fastcgi_index index.php; # 这里的目录是启动php容器时映射的目录 fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name; include fastcgi_params; }}# 创建运行nginx容器docker run --name nginx_php_001 -d \--restart=always \--privileged=true \-v /docker/nginx/html:/usr/share/nginx/html \-v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf \-v /docker/nginx/vhost/default.conf:/etc/nginx/conf.d/default.conf \-v /docker/nginx/log:/var/log/nginx \-p 5678:80 \--link php-fpm_001:php \nginx:stable-perl# --link php-fpm_001:php将php-fpm_001容器网路并入到当前容器