Docker 是一個開源的應用程式容器引擎,讓開發者可以打包他們的應用程式以及依賴套件到一個可移植的映像中,然後發佈到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。 容器是完全使用沙箱機制,彼此之間不會有任何介面。
經典的LNMP(linux nginx php mysql)環境有很多現成的部署腳本,但是在Docker 盛行的今天,依然有很多同學在如何部署上有一些列問題,所以這篇簡單介紹如何使用Docker 以及docker-compose 在伺服器上部署php 應用程式。 (建議學習:PHP影片教學)
在Docker 中安裝部署,直接用他的Docker 映像:
-p 2201:22 :為了方便ssh 登入容器開放的連接埠映射,不用也無所謂的,因為可以使用docker exec
-p 81:8000:主要是將容器的8000 連接埠(phpmsf 預設監聽埠)映射出來,這個連接埠可以改,根據改的連接埠
-v :主要是為了開發時間方便文件映射,/home/worker/data/www/ 是預設的web 文件目錄,根據改的目錄
$ docker run -dit --name phpmsfdemo -p 2201:22 -p 81:8000 -v /data/webroot/:/home/worker/data/www/ registry.cn-hangzhou.aliyuncs.com/pinguo-ops/php-msf-docker
php-msf 的映像運行的容器中,php 的運行環境
部署程式碼
容器部署成功之後,可以在容器中直接部署程式碼。
直接安裝程式碼使用的是 php-msf-docker,裡面有一個 installer.php,運行這個文件,可以直接下載框架和應用程式的目錄。
例如進入容器中,首先 git clone php-msf-docer,像我 clone 到 /home/worker/data 這個資料夾。
$ git clone https://github.com/pinguo/php-msf-docker.git
進入php-msf-docker,執行installer.php:
$ php installer.php start
然後會選擇安裝目錄和應用程式名稱等,之後會設定成功:
配置成功會預設啟動,如果不預設啟動則可以進入目錄手動啟動:
#手動啟動進入安裝的目錄即可,然後執行server即可:
$ php server.php start
以上是php用什麼容器部署的詳細內容。更多資訊請關注PHP中文網其他相關文章!