文章簡介
在前面幾篇文章中,我們使用dnmp搭建了乙個完整的docker開發環境。這篇文章接著分享如何在dnmp的基礎上搭建乙個自定義的php容器,實現多版本的php容器。
前期準備
複製docker-compose.sample.yml檔案為docker-compose.ymlcp docker-compose.sample.yml docker-compose.yml
複製env.sample為.envcp env.sample ./env
修改配置
首先我們根據需要在.env檔案中配置好php容器需要對映的埠等資訊。新增如下配置(可放在任意位置):#
# php73
php73_version=7.3.22
php73_php_conf_file=./services/php73/php.ini
php73_fpm_conf_file=./services/php73/php-fpm.conf
php73_log_dir=./logs/php
php73_extensions=pdo_mysql,mysqli,mbstring,gd,curl,opcache
php_swoole1_port=9504
php_swoole2_port=9505
php_swoole3_port=9506
php_swoole4_port=9507
php_swoole5_port=9508
php_swoole6_port=9509這裡的swoole可以根據自己的需要定義,比如你只需要對映乙個埠9505,直接值配置乙個9504。只需要與下面的.docker-compose.yml一一對應起來即可。
接下來,配置doker-compose.yml檔案。只需要新增如下內容即可:php73:
build:
context: ./services/php
args:
php_version: php:$-fpm-alpine
container_package_url: $
php_extensions: $
tz: "$tz"
container_name: php73
ports:
- "$:9504"
- "$:9505"
- "$:9506"
- "$:9507"
- "$:9508"
- "$:9509"這裡的container_name可以根據自己的需要來配置,建議根據你的php版本號定義容器名字。
安裝容器
通過上面簡單的配置,我們接下來執行如下命令,就可以搭建乙個完整的php容器了:docker-compose up
安裝完之後,檢視效果:container id image command created status ports names
0e1376e67300 dnmp_php73 "docker-php-entrypoi…" 35 hours ago up 42 minutes 9000/tcp, 0.0.0.0:9504-9509->9504-9509/tcp php73
證明我們的自定義容器安裝成功了,接下來,我們就配置nginx如何使用該容器。
使用容器
使用該容器超級簡單,只需要在nginx配置時,指向我們建立好的容器即可。server {
# 只需要將這裡的php73寫成我們建立好的容器名稱即可。
fastcgi_pass php73:9000;
fastcgi_index index.php;
fastcgi_param script_filename $document_root$fastcgi_script_name;
include fastcgi_params;
最終結論
如何玩轉swoole 入門學習一下swoole
最近有需求需要搞一下物聯網通訊這塊的東西,也是小明我的乙個短板,所以就在這裡開個專欄記錄一下學習swoole的筆記吧。一般學習乙個新的技術,小明還是建議以官方的學習文件為主。像我現在這樣的文章呢?可以避免一些採坑,但是具體的一些流程還是得以官方的為主。具體的安裝步驟,小明就不細說了,大家參考官方文件...
如何玩轉Fluxion
fluxion是一種安全審核和社會工程研究工具。這是vk496對linset的翻版,希望 有更少的錯誤和更多的功能。該指令碼嘗試通過社會工程 網路釣魚 攻擊從目標訪問點檢索wpa wpa2金鑰。它與最新版本的kali 滾動 相容。fluxion的攻擊設定大部分是手動的,但是實驗性自動模式可以處理某些...
如何玩轉微服務
黃朝兵,目前就職於一家跨國軟體公司,任專家級開發工程師。曾就職於網際網路金融企業 大型國企 日企等,分別任職技術經理,高階軟體開發工程師,軟體開發工程師。2014年 martin fowler 在 microservices 中首次提出了微服務的概念。近些年,伴隨著網際網路的日益發展,微服務在國內 ...