使用 Docker 部署 PHP 運行環境


當項目開發逐漸趨於完成時,需要准備大批量集群部署,重復的環境安裝、配置和源碼上傳等工作,雖然沒有難度,但繁瑣無聊又低效,如果將項目發版版本打包成對應的 docker 鏡像,我們只需在每台部署應用服務器上執行拉取鏡像、創建容器、啟動容器即可。DNMP 是基於 Docker 的 PHP 集成開發環境。

DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的LNMP一鍵安裝程序。

DNMP特點:

  1. 100% 遵循 Docker 標准
  2. 支持多版本 PHP 共存,可任意切換 (PHP5.6、PHP7.1、PHP7.3)
  3. 支持綁定任意多個域名
  4. 支持 HTTPS 和 HTTP/2
  5. PHP源代碼、Mysql數據、配置文件、日志文件都可以在 Host 中直接修改查看
  6. 支持完整 PHP 擴展安裝命令
  7. 默認支持 pdo_mysql、mysqli、mbstring、gd、curl、opcache 等常用擴展,可根據環境靈活配置
  8. 可一鍵選配常用服務:
    • 多 PHP 版本: PHP5.6、PHP7.1-7.3
    • Web 服務: Nginx 、Openresty
    • 數據庫: MySQL5、MySQL8 、Redis、memcached、MongoDB 、ElasticSearch
    • 消息隊列: RabbitMQ
    • 輔助工具: Kibana、Logstash、phpMyAdmin、phpRedisAdmin、AdminMongo
  9. 實際項目中應用,確保100%可用
  10. 所有鏡像基於 Docker 官方倉庫,安全可靠
  11. 一次配置,Windows、Linux、MacOs皆可用
  12. 支持快速安裝擴展命令 install-php-extensions acpu

快速部署

本地安裝

  1. git
  2. Docker
  3. docker-compose

clone 項目

$ git clone https://github.com/yeszao/dnmp.git

如果不是 root 用戶,需要將當前用戶加入 docker 用戶組

$ sudo gpasswd -a ${USER} docker

拷貝並命名配置文件,啟動:

$ cd dnmp # 進入項目目錄
$ cp env.sample .env # 復制環境變量文件
$ cp docker-compose.sample.yml docker-compose.yml # 復制 docker-compose 配置文件。默認啟動3個服務:# Nginx、PHP7和MySQL8。要開啟更多其他服務,如Redis、# PHP5.6、MongoDB,ElasticSearch等,請刪 # 除服務塊前的注釋
$ docker-compose up # 啟動

在瀏覽器訪問

在瀏覽器中訪問:http://localhost或https😕/localhost(自簽名HTTPS演示)就能看到效果,PHP代碼在文件./www/localhost/index.php。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM