7.使用docker搭建一套简单的php+nginx的环境 要求: 1.最终实现能够访问:index.php 2. PHP版本为7.4.26,nginx版本为1.18 3. php需要安装好mysqli扩展,把安装好扩展的镜像推送到私有仓库(假设私有仓库的地址为:192.168.0.2:80,账号密码都为admin)
时间: 2023-05-19 14:05:12 浏览: 132
可以使用以下Dockerfile来构建镜像:
```
FROM php:7.4.26-fpm
RUN apt-get update && apt-get install -y \
nginx \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libzip-dev \
&& docker-php-ext-install mysqli pdo_mysql gd zip
COPY nginx.conf /etc/nginx/nginx.conf
COPY index.php /var/www/html/index.php
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
```
其中,nginx.conf文件可以使用以下配置:
```
worker_processes 1;
events { worker_connections 1024; }
http {
sendfile on;
upstream php {
server 127.0.0.1:9000;
}
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass php;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
```
然后,使用以下命令构建镜像并推送到私有仓库:
```
docker build -t 192.168.0.2:80/php-nginx .
docker login 192.168.0.2:80 -u admin -p admin
docker push 192.168.0.2:80/php-nginx
```
最后,使用以下命令启动容器:
```
docker run -d -p 80:80 --name php-nginx 192.168.0.2:80/php-nginx
```
现在,可以通过访问http://localhost/index.php来测试环境是否搭建成功。
阅读全文