1.查看倉庫可用php版本
docker search php
2.我這里安裝php7.4
docker pull php:7.4-fpm
3.查看鏡像是否安裝成功
docker images
4.運行容器
docker run --name php7.4-fpm-test -v D:\DockerContainer\nginx\www:/www -d php:7.4-fpm
參數說明:
--name php7.4-fpm-test : 將容器命名為 php7.4-fpm-test。
-v D:\DockerContainer\nginx\www:/www : 將主機中項目的目錄 www 掛載到容器的 /www
-d php:7.4-fpm: 設置容器在在后臺一直運行。
5.進入容器
docker exec -it php7.4-fpm-test /bin/bash
進入容器后發現容器根目錄www下已經有index.php文件,這是我們上篇文章配置nginx創建的,出現這說明映射成功
6.在D:\DockerContainer\nginx\conf.d目錄下創建test.conf文件,內容如下
server {
listen 80;
server_name localhost;
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$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}
7.在D:\DockerContainer\nginx\www目錄下創建index.php文件
<?php
echo phpinfo();
?>
8.運行nginx容器
docker run --name nginx-test -p 8080:80 -v D:\DockerContainer\nginx\conf:/etc/nginx/conf -v D:\DockerContainer\nginx\conf.d:/etc/nginx/conf.d -v D:\DockerContainer\nginx\logs:/var/log/nginx -v D:\DockerContainer\nginx\www:/usr/share/nginx/html -d --link php7.4-fpm-test:php nginx
9.瀏覽器訪問index.php
10.安裝mysqli擴展
進入容器安裝php mysqli擴展,進入到/usr/local/bin目錄執行命令
docker-php-ext-install mysql
docker-php-ext-install mysqli
安裝成功后重啟php容器
11.php連接mysql
在index.php文件寫連接代碼
<?php
$servername = "mysql-test2";
$username = "root";
$password = "root";
// 創建連接
$conn = new mysqli($servername, $username, $password);
// 檢測連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
echo "連接成功";
?>
mysql-test2是之前創建的mysql容器,$servername填寫容器名稱或者容器ip
12.訪問瀏覽器輸出連接成功