在程式開發中,只會一門技術肯定是不行滴,許多應用的開發都需要運用到多門技術。今天我們就來跟大家聊聊,如何基於LAMP 技術棧,用 Docker 映像的方式搭建一個 Linux Apache MySQL PHP 的應用程式 。
1、建立 php開發 應用容器
首先,選擇官方的 PHP 鏡像作為專案的基礎鏡像。
dockerfile
FROMdaocloud.io/php:5.6-apache
接著,用官方 PHP 鏡像內建命令 docker-php-ext-install 擴充功能依賴 PHP 的 MySQL 擴充功能依賴。
dockerfile
RUNdocker-php-ext-install pdo_mysql
參數則透過docker-php-ext-configure 指令。
安裝 pdo_mysql PHP 擴充功能。
然後,將程式碼複製到目標目錄。
dockerfile
COPY ./var/www/html/
因為基礎鏡像內已經聲明了暴露和啟動命令,此處可以連接埠省略。
至此,包含 PHP 應用開發的 Docker 容器已經準備好了。 PHP 程式碼中存取資料庫所需的參數,是透過讀取環境變數的方式聲明的。
```php
$serverName =env("MYSQL_PORT_3306_TCP_ADDR", "localhost");
$username = env("MYSQL_USERNAME","homestead");
$password =env("MYSQL_PsecSQL_Psec );
/**
* 獲取環境變量
* @param $key
* @param null$default
* @returnnull|string
*/
functionenv($key, $default = null)
functionenv($key, $default = null)
$value =getenv($key);
if ($value ===false) {
return $default;
www. maiziedu.com
}
return $value;
}
```
```
2、綁定 本地MySQL 資料容器
首先,需要建立一個 MySQL 容器。
bash
docker run--name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql:5.5
間的link 機制,便可將MySQL 的預設連接埠(3306)暴露給應用容器。
bash
docker run--name some-app --link some-mysql:mysql -d app-that-uses-mysql
3.綁定雲端MySQL 資料服務
比起本地創建,在雲端創建和綁定MySQL 資料服務會更簡單。
a、在 GitHub 上 Fork DaoCloud/php-apache-mysql-sample 或新增自己的程式碼倉庫。
b、註冊成為 DaoCloud 使用者。
c、在 DaoCloud 「控制台」中選擇「程式碼建置」。
d、建立新項目,選擇程式碼來源,開始建立鏡像。 e、在「服務整合」建立 MySQL 服務實例。 f、將建置的應用程式鏡像關聯 MySQL 服務實例並部署在雲端。
以上就是透過PHP MySQL 的實現Docker 化應用的具體操作步驟,還有不清楚的親,可以自己試驗一把。
建議學習:php影片教學 http://www.maiziedu.com/course/php/
|