拉取最新的PHP版本,當然你也可以挑選某個PHP版本來。兩步即可完成。
拉取PHP最新版:
[root@localhost ~]# docker pull php:8.1.3-fpm
- 啟動PHP:
[root@localhost ~]# docker run --name myphp8.1 -v /data/web:/data/www -d php:8.1.3-fpm
[root@localhost ~]# docker ps
docker run 的參數解析
--name 給容器起一個名字:myphp8.1
-v 掛載目錄,:前面是宿主機的目錄(/data/web),后面部分(/data/www)是docker鏡像里面的目錄。這樣掛載后,不管是在宿主機還是docker里面修改的,都能互相看到。兩個目錄不一樣,也可以設置一樣的。根據自己的喜好和方便管理的原則進行關聯掛靠。
-d 守護進程放到后台運行
最后一個參數是鏡像名字,帶版本號(tag)
03測試PHP是否成功
以交互方式進入剛剛啟動的PHP容器
[root@localhost ~]# docker exec -it myphp8.1 /bin/bash
默認進入了PHP的web目錄,其實我們掛載的目錄是/data/www,進入掛載的目錄。兩個目錄都是空的,都沒有默認的文件。
啟動PHP自帶的server服務器
root@0861345dc050:/var/www/html# php -S localhost:80 -t /data/www
-
再開一個窗口(xshell或者putty登陸centos),按第一步,登陸到PHP容器中,通過curl命令訪問剛才啟動的web服務器,得到了一個404的返回
[root@localhost ~]# docker exec -it myphp8.1 /bin/bash
root@8f26a5307523:/var/www/html# curl http://localhost/
同時web服務器,也捕獲到了一個訪問記錄,並打印到了屏幕上,說明服務器是運行正確了
-
運行PHP腳本
在宿主機創建一個PHP文件,輸出我們最熟悉的hello world:
[root@localhost ~]# vim /data/web/index.php
<?php
echo "hello world";
//退出保存
重新發起訪問: