在Docker容器中运行一个PHP应用程序,可以通过以下步骤进行:
- 编写PHP应用程序:
php
<?php
echo '<h1>Hello World!</h1>';
?>
保存为index.php。
- 构建Dockerfile:
Dockerfile
FROM php:7.4-fpm-alpine
WORKDIR /app
COPY . .
此Dockerfile构建基于php:7.4-fpm-alpine的镜像,并将当前目录中的代码复制到镜像。
- 构建镜像:
docker build -t php-app .
- 运行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应用。
- Nginx配置:
编辑Nginx容器中的/etc/nginx/conf.d/default.conf文件,添加:
location ~ \.php$ {
proxy_pass http://php;
proxy_set_header X-Real-IP $remote_addr;
}
此配置代理.php请求到php容器。
- 重新加载Nginx配置:
docker exec -it nginx nginx -s reload
- 访问应用:
打开http://xn--localhostphp-q86sl87c8u1bkr5e0i0d0kub。