如何在Docker容器中运行一个PHP应用程序?

在Docker容器中运行一个PHP应用程序,可以通过以下步骤进行:

  1. 编写PHP应用程序:
php
<?php
echo '<h1>Hello World!</h1>';
?> 

保存为index.php。

  1. 构建Dockerfile:
Dockerfile
FROM php:7.4-fpm-alpine 
WORKDIR /app
COPY . .

此Dockerfile构建基于php:7.4-fpm-alpine的镜像,并将当前目录中的代码复制到镜像。

  1. 构建镜像:
docker build -t php-app .
  1. 运行Nginx和PHP容器:
# Nginx容器
docker run -d --name nginx -p 80:80 nginx

# PHP容器 
docker run -d --name php -v $(pwd):/app php-app

# 链接容器
docker network connect bridge php nginx 

此步骤分别运行Nginx和PHP容器,并使用–network参数连接二者,实现Web服务器代理PHP应用。

  1. Nginx配置:
    编辑Nginx容器中的/etc/nginx/conf.d/default.conf文件,添加:
location ~ \.php$ {
    proxy_pass   http://php;
    proxy_set_header  X-Real-IP  $remote_addr;
}

此配置代理.php请求到php容器。

  1. 重新加载Nginx配置:
docker exec -it nginx nginx -s reload
  1. 访问应用:
    打开http://xn--localhostphp-q86sl87c8u1bkr5e0i0d0kub。